| // SSSSSSSSSSSSSSS TTTTTTTTTTTTTTTTTTTTTTT OOOOOOOOO PPPPPPPPPPPPPPPPP |
| // SS:::::::::::::::ST:::::::::::::::::::::T OO:::::::::OO P::::::::::::::::P |
| // S:::::SSSSSS::::::ST:::::::::::::::::::::T OO:::::::::::::OO P::::::PPPPPP:::::P |
| // S:::::S SSSSSSST:::::TT:::::::TT:::::TO:::::::OOO:::::::OPP:::::P P:::::P |
| // S:::::S TTTTTT T:::::T TTTTTTO::::::O O::::::O P::::P P:::::P |
| // S:::::S T:::::T O:::::O O:::::O P::::P P:::::P |
| // S::::SSSS P::::PPPPPP:::::P |
| // SS::::::SSSSS This file is generated. To update it, P:::::::::::::PP |
| // SSS::::::::SS run roll_closure_compiler. P::::PPPPPPPPP |
| // SSSSSS::::S P::::P |
| // S:::::S T:::::T O:::::O O:::::O P::::P |
| // S:::::S T:::::T O::::::O O::::::O P::::P |
| // SSSSSSS S:::::S TT:::::::TT O:::::::OOO:::::::OPP::::::PP |
| // S::::::SSSSSS:::::S T:::::::::T OO:::::::::::::OO P::::::::P |
| // S:::::::::::::::SS T:::::::::T OO:::::::::OO P::::::::P |
| // SSSSSSSSSSSSSSS TTTTTTTTTTT OOOOOOOOO PPPPPPPPPP |
| /* |
| * Copyright 2016 The Closure Compiler Authors. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| /** |
| * @fileoverview Closure compiler externs for the Polymer library. |
| * Originally part of the Polymer Project. Original license below. |
| * |
| * @externs |
| * @license |
| * Copyright (c) 2015 The Polymer Project Authors. All rights reserved. |
| * This code may only be used under the BSD style license found at |
| * http://polymer.github.io/LICENSE.txt. The complete set of authors may be |
| * found at http://polymer.github.io/AUTHORS.txt. The complete set of |
| * contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt. Code |
| * distributed by Google as part of the polymer project is also subject to an |
| * additional IP rights grant found at http://polymer.github.io/PATENTS.txt. |
| */ |
| |
| if (Math.random() < 1) { |
| throw "polymer externs should not be executed"; |
| } |
| |
| /** |
| * @param {!{is: string}} descriptor The Polymer descriptor of the element. |
| * @see https://github.com/Polymer/polymer/blob/0.8-preview/PRIMER.md#custom-element-registration |
| */ |
| var Polymer = function(descriptor) {}; |
| |
| |
| /** |
| * Re-evaluates and applies custom CSS properties based on dynamic |
| * changes to this element's scope, such as adding or removing classes. |
| * |
| * For performance reasons, Polymer's custom CSS property shim relies |
| * on this explicit signal from the user to indicate when changes have |
| * been made that affect the values of custom properties. |
| * |
| * @param {Object=} properties Properties object which is mixed into |
| * the document root `customStyle` property. This argument provides a |
| * shortcut for setting `customStyle` and then calling `updateStyles`. |
| * |
| * @see http://polymer.github.io/polymer/ |
| */ |
| Polymer.updateStyles = function(properties) {}; |
| |
| |
| /** @constructor @extends {HTMLElement} */ |
| var PolymerElement = function() {}; |
| |
| /** |
| * A mapping from ID to element in this Polymer Element's local DOM. |
| * @type {!Object} |
| */ |
| PolymerElement.prototype.$; |
| |
| /** |
| * True if the element has been attached to the DOM. |
| * @type {boolean} |
| */ |
| PolymerElement.prototype.isAttached; |
| |
| /** |
| * The root node of the element. |
| * @type {!Node} |
| */ |
| PolymerElement.prototype.root; |
| |
| /** |
| * The root node for the element. |
| * Only exists if running under Shady Dom. |
| * You usually want to use `this.root`. |
| * |
| * @type {?Node|undefined} |
| */ |
| PolymerElement.prototype.shadyRoot; |
| |
| /** |
| * Returns the first node in this element’s local DOM that matches selector. |
| * @param {string} selector |
| * @return {Element} Element found by the selector, or null if not found. |
| */ |
| PolymerElement.prototype.$$ = function(selector) {}; |
| |
| /** @type {string} The Custom element tag name. */ |
| PolymerElement.prototype.is; |
| |
| /** @type {string} The native element this element extends. */ |
| PolymerElement.prototype.extends; |
| |
| /** |
| * An array of objects whose properties get added to this element. |
| * @see https://www.polymer-project.org/1.0/docs/devguide/behaviors.html |
| * @type {!Array<!Object>|undefined} |
| */ |
| PolymerElement.prototype.behaviors; |
| |
| /** |
| * A string-separated list of dependent properties that should result in a |
| * change function being called. These observers differ from single-property |
| * observers in that the change handler is called asynchronously. |
| * |
| * @type {!Object<string, string>|undefined} |
| */ |
| PolymerElement.prototype.observers; |
| |
| /** On create callback. */ |
| PolymerElement.prototype.created = function() {}; |
| /** On ready callback. */ |
| PolymerElement.prototype.ready = function() {}; |
| /** On registered callback. */ |
| PolymerElement.prototype.registered = function() {}; |
| /** On attached to the DOM callback. */ |
| PolymerElement.prototype.attached = function() {}; |
| /** On detached from the DOM callback. */ |
| PolymerElement.prototype.detached = function() {}; |
| |
| /** |
| * Callback fired when an attribute on the element has been changed. |
| * |
| * @param {string} name The name of the attribute that changed. |
| */ |
| PolymerElement.prototype.attributeChanged = function(name) {}; |
| |
| /** @typedef {!{ |
| * type: !Function, |
| * reflectToAttribute: (boolean|undefined), |
| * readOnly: (boolean|undefined), |
| * notify: (boolean|undefined), |
| * value: *, |
| * computed: (string|undefined), |
| * observer: (string|undefined) |
| * }} */ |
| PolymerElement.PropertyConfig; |
| |
| /** @typedef {!Object<string, (!Function|!PolymerElement.PropertyConfig)>} */ |
| PolymerElement.Properties; |
| |
| /** @type {!PolymerElement.Properties} */ |
| PolymerElement.prototype.properties; |
| |
| /** @type {!Object<string, *>} */ |
| PolymerElement.prototype.hostAttributes; |
| |
| /** |
| * An object that maps events to event handler function names. |
| * @type {!Object<string, string>} |
| */ |
| PolymerElement.prototype.listeners; |
| |
| /** |
| * Force this element to distribute its children to its local dom. |
| * A user should call `distributeContent` if distribution has been |
| * invalidated due to changes to selectors on child elements that |
| * effect distribution that were not made via `Polymer.dom`. |
| * For example, if an element contains an insertion point with |
| * `<content select=".foo">` and a `foo` class is added to a child, |
| * then `distributeContent` must be called to update |
| * local dom distribution. |
| * @param {boolean} updateInsertionPoints Shady DOM does not detect |
| * <content> insertion that is nested in a sub-tree being appended. |
| * Set to true to distribute to newly added nested <content>'s. |
| */ |
| PolymerElement.prototype.distributeContent = function(updateInsertionPoints) {}; |
| |
| /** |
| * Return the element whose local dom within which this element is contained. |
| * @type {?Element} |
| */ |
| PolymerElement.prototype.domHost; |
| |
| /** |
| * Notifies the event binding system of a change to a property. |
| * @param {string} path The path to set. |
| * @param {*=} value The value to send in the update notification. |
| * @param {boolean=} fromAbove When true, specifies that the change came from |
| * above this element and thus upward notification is not necessary. |
| * @return {boolean} True if notification actually took place, based on a dirty |
| * check of whether the new value was already known. |
| */ |
| PolymerElement.prototype.notifyPath = function(path, value, fromAbove) {}; |
| |
| /** |
| * @param {string} path Path that should be notified. |
| * @param {!Array<!PolymerSplice>} splices Array of splice records indicating |
| * ordered changes that occurred to the array. |
| */ |
| PolymerElement.prototype.notifySplices = function(path, splices) {}; |
| |
| /** |
| * Convienence method for setting a value to a path and notifying any |
| * elements bound to the same path. |
| * |
| * Note, if any part in the path except for the last is undefined, |
| * this method does nothing (this method does not throw when |
| * dereferencing undefined paths). |
| * |
| * @param {(string|Array<(string|number)>)} path Path to the value |
| * to read. The path may be specified as a string (e.g. `foo.bar.baz`) |
| * or an array of path parts (e.g. `['foo.bar', 'baz']`). Note that |
| * bracketed expressions are not supported; string-based path parts |
| * *must* be separated by dots. Note that when dereferencing array |
| * indicies, the index may be used as a dotted part directly |
| * (e.g. `users.12.name` or `['users', 12, 'name']`). |
| * @param {*} value Value to set at the specified path. |
| * @param {Object=} root Root object from which the path is evaluated. |
| */ |
| PolymerElement.prototype.set = function(path, value, root) {}; |
| |
| /** |
| * Convienence method for reading a value from a path. |
| * |
| * Note, if any part in the path is undefined, this method returns |
| * `undefined` (this method does not throw when dereferencing undefined |
| * paths). |
| * |
| * @param {(string|Array<(string|number)>)} path Path to the value |
| * to read. The path may be specified as a string (e.g. `foo.bar.baz`) |
| * or an array of path parts (e.g. `['foo.bar', 'baz']`). Note that |
| * bracketed expressions are not supported; string-based path parts |
| * *must* be separated by dots. Note that when dereferencing array |
| * indicies, the index may be used as a dotted part directly |
| * (e.g. `users.12.name` or `['users', 12, 'name']`). |
| * @param {Object=} root Root object from which the path is evaluated. |
| * @return {*} Value at the path, or `undefined` if any part of the path |
| * is undefined. |
| */ |
| PolymerElement.prototype.get = function(path, root) {}; |
| |
| /** |
| * Adds items onto the end of the array at the path specified. |
| * |
| * The arguments after `path` and return value match that of |
| * `Array.prototype.push`. |
| * |
| * This method notifies other paths to the same array that a |
| * splice occurred to the array. |
| * |
| * @param {string} path Path to array. |
| * @param {...*} var_args Items to push onto array |
| * @return {number} New length of the array. |
| */ |
| PolymerElement.prototype.push = function(path, var_args) {}; |
| |
| /** |
| * Removes an item from the end of array at the path specified. |
| * |
| * The arguments after `path` and return value match that of |
| * `Array.prototype.pop`. |
| * |
| * This method notifies other paths to the same array that a |
| * splice occurred to the array. |
| * |
| * @param {string} path Path to array. |
| * @return {*} Item that was removed. |
| */ |
| PolymerElement.prototype.pop = function(path) {}; |
| |
| /** |
| * Starting from the start index specified, removes 0 or more items |
| * from the array and inserts 0 or more new itms in their place. |
| * |
| * The arguments after `path` and return value match that of |
| * `Array.prototype.splice`. |
| * |
| * This method notifies other paths to the same array that a |
| * splice occurred to the array. |
| * |
| * @param {string} path Path to array. |
| * @param {number} start Index from which to start removing/inserting. |
| * @param {number} deleteCount Number of items to remove. |
| * @param {...*} var_args Items to insert into array. |
| * @return {!Array} Array of removed items. |
| */ |
| PolymerElement.prototype.splice = function(path, start, deleteCount, var_args) {}; |
| |
| /** |
| * Removes an item from the beginning of array at the path specified. |
| * |
| * The arguments after `path` and return value match that of |
| * `Array.prototype.pop`. |
| * |
| * This method notifies other paths to the same array that a |
| * splice occurred to the array. |
| * |
| * @param {string} path Path to array. |
| * @return {*} Item that was removed. |
| */ |
| PolymerElement.prototype.shift = function(path) {}; |
| |
| /** |
| * Adds items onto the beginning of the array at the path specified. |
| * |
| * The arguments after `path` and return value match that of |
| * `Array.prototype.push`. |
| * |
| * This method notifies other paths to the same array that a |
| * splice occurred to the array. |
| * |
| * @param {string} path Path to array. |
| * @param {...*} var_args Items to insert info array |
| * @return {number} New length of the array. |
| */ |
| PolymerElement.prototype.unshift = function(path, var_args) {}; |
| |
| /** |
| * Returns a list of element children distributed to this element's |
| * `<content>`. |
| * |
| * If this element contans more than one `<content>` in its |
| * local DOM, an optional selector may be passed to choose the desired |
| * content. This method differs from `getContentChildNodes` in that only |
| * elements are returned. |
| * |
| * @param {string=} slctr CSS selector to choose the desired |
| * `<content>`. Defaults to `content`. |
| * @return {!Array<!HTMLElement>} List of distributed nodes for the |
| * `<content>`. |
| */ |
| PolymerElement.prototype.getContentChildren = function(slctr) {}; |
| |
| /** |
| * Returns a list of nodes that are the effective childNodes. The effective |
| * childNodes list is the same as the element's childNodes except that |
| * any `<content>` elements are replaced with the list of nodes distributed |
| * to the `<content>`, the result of its `getDistributedNodes` method. |
| * |
| * @return {!Array<!Node>} List of effective child nodes. |
| */ |
| PolymerElement.prototype.getEffectiveChildNodes = function() {}; |
| |
| /** |
| * Returns a list of elements that are the effective children. The effective |
| * children list is the same as the element's children except that |
| * any `<content>` elements are replaced with the list of elements |
| * distributed to the `<content>`. |
| * |
| * @return {!Array<!Node>} List of effective children. |
| */ |
| PolymerElement.prototype.getEffectiveChildren = function() {}; |
| |
| /** |
| * Returns a string of text content that is the concatenation of the |
| * text content's of the element's effective childNodes (the elements |
| * returned by <a href="#getEffectiveChildNodes>getEffectiveChildNodes</a>. |
| * |
| * @return {string} A concatenated string of all effective childNode text |
| * content. |
| */ |
| PolymerElement.prototype.getEffectiveTextContent = function() {}; |
| |
| /** |
| * Returns the first effective child that match selector. |
| * |
| * @param {string} selector |
| * @return {?HTMLElement} |
| */ |
| PolymerElement.prototype.queryEffectiveChildren = function(selector) {}; |
| |
| /** |
| * Returns a list of effective children that match selector. |
| * |
| * @param {string} selector |
| * @return {!Array<!HTMLElement>} |
| */ |
| PolymerElement.prototype.queryAllEffectiveChildren = function(selector) {}; |
| |
| /** |
| * Fire an event. |
| * |
| * @param {string} type An event name. |
| * @param {*=} detail |
| * @param {{ |
| * bubbles: (boolean|undefined), |
| * cancelable: (boolean|undefined), |
| * node: (!EventTarget|undefined)}=} options |
| * @return {Object} event |
| */ |
| PolymerElement.prototype.fire = function(type, detail, options) {}; |
| |
| /** |
| * Toggles the named boolean class on the host element, adding the class if |
| * bool is truthy and removing it if bool is falsey. If node is specified, sets |
| * the class on node instead of the host element. |
| * @param {string} name |
| * @param {boolean=} bool |
| * @param {HTMLElement=} node |
| */ |
| PolymerElement.prototype.toggleClass = function(name, bool, node) {}; |
| |
| /** |
| * Toggles the named boolean attribute on the host element, adding the attribute |
| * if bool is truthy and removing it if bool is falsey. If node is specified, |
| * sets the attribute on node instead of the host element. |
| * @param {string} name |
| * @param {boolean=} bool |
| * @param {HTMLElement=} node |
| */ |
| PolymerElement.prototype.toggleAttribute = function(name, bool, node) {}; |
| |
| /** |
| * Moves a boolean attribute from oldNode to newNode, unsetting the attribute |
| * (if set) on oldNode and setting it on newNode. |
| * @param {string} name |
| * @param {!HTMLElement} newNode |
| * @param {!HTMLElement} oldNode |
| */ |
| PolymerElement.prototype.attributeFollows = function(name, newNode, oldNode) {}; |
| |
| /** |
| * Convenience method to add an event listener on a given element, late bound to |
| * a named method on this element. |
| * @param {!EventTarget} node Element to add event listener to. |
| * @param {string} eventName Name of event to listen for. |
| * @param {string} methodName Name of handler method on this to call. |
| */ |
| PolymerElement.prototype.listen = function(node, eventName, methodName) {}; |
| |
| /** |
| * Convenience method to remove an event listener from a given element. |
| * @param {?EventTarget} node Element to remove event listener from. |
| * @param {string} eventName Name of event to stop listening for. |
| * @param {string} methodName Name of handler method on this to remove. |
| */ |
| PolymerElement.prototype.unlisten = function(node, eventName, methodName) {}; |
| |
| /** |
| * Override scrolling behavior to all direction, one direction, or none. |
| * |
| * Valid scroll directions: |
| * 'all': scroll in any direction |
| * 'x': scroll only in the 'x' direction |
| * 'y': scroll only in the 'y' direction |
| * 'none': disable scrolling for this node |
| * |
| * @param {string=} direction Direction to allow scrolling Defaults to all. |
| * @param {HTMLElement=} node Element to apply scroll direction setting. |
| * Defaults to this. |
| */ |
| PolymerElement.prototype.setScrollDirection = function(direction, node) {}; |
| |
| /** |
| * @param {!Function} method |
| * @param {number=} wait |
| * @return {number} A handle which can be used to cancel the job. |
| */ |
| PolymerElement.prototype.async = function(method, wait) {}; |
| |
| /** |
| * @param {...*} var_args |
| */ |
| PolymerElement.prototype.factoryImpl = function(var_args) {}; |
| |
| /** |
| * Apply style scoping to the specified container and all its descendants. |
| * @param {!Element} container Element to scope. |
| * @param {boolean} shouldObserve When true, monitors the container for changes |
| * and re-applies scoping for any future changes. |
| */ |
| PolymerElement.prototype.scopeSubtree = function(container, shouldObserve) {}; |
| |
| /** |
| * Aliases one data path as another, such that path notifications from one |
| * are routed to the other. |
| * |
| * @param {string} to Target path to link. |
| * @param {string} from Source path to link. |
| */ |
| PolymerElement.prototype.linkPaths = function(to, from) {} |
| |
| /** |
| * Removes a data path alias previously established with `linkPaths`. |
| * |
| * Note, the path to unlink should be the target (`to`) used when |
| * linking the paths. |
| * |
| * @param {string} path Target path to unlink. |
| */ |
| PolymerElement.prototype.unlinkPaths = function(path) {} |
| |
| /** |
| * Copies own properties (including accessor descriptors) from a source |
| * object to a target object. |
| * |
| * @param {?Object} target Target object to copy properties to. |
| * @param {?Object} source Source object to copy properties from. |
| * @return {?Object} Target object that was passed as first argument or source |
| * object if the target was null. |
| */ |
| PolymerElement.prototype.extend = function(target, source) {}; |
| |
| /** @const */ |
| Polymer.Base = {}; |
| |
| /** |
| * Used by the promise-polyfill on its own. |
| * |
| * @param {!Function} method |
| * @param {number=} wait |
| * @return {number} A handle which can be used to cancel the job. |
| */ |
| Polymer.Base.async = function(method, wait) {}; |
| |
| /** |
| * @param {string} tag |
| * @param {!Object=} props |
| * @return {!Element} |
| */ |
| Polymer.Base.create = function(tag, props) {}; |
| |
| /** |
| * Copies own properties (including accessor descriptors) from a source |
| * object to a target object. |
| * |
| * @param {?Object} target Target object to copy properties to. |
| * @param {?Object} source Source object to copy properties from. |
| * @return {?Object} Target object that was passed as first argument or source |
| * object if the target was null. |
| */ |
| Polymer.Base.extend = function(target, source) {}; |
| |
| /** |
| * Returns a property descriptor object for the property specified. |
| * |
| * This method allows introspecting the configuration of a Polymer element's |
| * properties as configured in its `properties` object. Note, this method |
| * normalizes shorthand forms of the `properties` object into longhand form. |
| * |
| * @param {string} property Name of property to introspect. |
| * @return {Object} Property descriptor for specified property. |
| */ |
| Polymer.Base.getPropertyInfo = function(property) {}; |
| |
| /** |
| * Dynamically imports an HTML document. |
| * @param {string} href |
| * @param {Function=} onload |
| * @param {Function=} onerror |
| * @param {boolean=} async |
| */ |
| Polymer.Base.importHref = function(href, onload, onerror, async) {}; |
| |
| /** |
| * Copies props from a source object to a target object. |
| * |
| * Note, this method uses a simple `for...in` strategy for enumerating |
| * properties. To ensure only `ownProperties` are copied from source |
| * to target and that accessor implementations are copied, use `extend`. |
| * |
| * @param {!Object} target Target object to copy properties to. |
| * @param {?Object} source Source object to copy properties from. |
| * @return {!Object} Target object that was passed as first argument. |
| */ |
| Polymer.Base.mixin = function(target, source) {}; |
| |
| /** |
| * @param {string|!Array<string|number>} path |
| * @param {!Object=} root |
| * @return {*} |
| */ |
| Polymer.Base.get = function(path, root) {}; |
| |
| /** |
| * @param {string} type |
| * @param {*=} detail |
| * @param {!Object=} options |
| * @return {!CustomEvent} |
| */ |
| Polymer.Base.fire = function(type, detail, options) {}; |
| |
| /** |
| * For Polymer internal use only, except for |
| * github.com/Polymer/polymer/issues/4138 |
| * @type {!function (!Node, ?string, *, ?Object)} |
| */ |
| Polymer.Base._computeFinalAnnotationValue; |
| |
| /** |
| * @param {...*} var_args |
| * For Polymer-internal use only. |
| */ |
| Polymer.Base._warn = function(var_args) {}; |
| |
| /** |
| * @param {...*} var_args |
| * For Polymer-internal use only. |
| */ |
| Polymer.Base._error = function(var_args) {}; |
| |
| /** @const */ |
| Polymer.Gestures = {}; |
| |
| /** |
| * @param {!Node} node |
| * @param {string} evType |
| * @param {?Function} handler |
| * @return {boolean} |
| * @deprecated Use addListener. |
| */ |
| Polymer.Gestures.add = function(node, evType, handler) {}; |
| |
| /** |
| * @param {!Node} node |
| * @param {string} evType |
| * @param {?Function} handler |
| * @return {boolean} |
| */ |
| Polymer.Gestures.addListener = function(node, evType, handler) {}; |
| |
| /** |
| * Gets the original target of the given event. |
| * |
| * Cheaper than Polymer.dom(ev).path[0]; |
| * See https://github.com/Polymer/polymer/blob/master/src/standard/gestures.html#L191 |
| * |
| * @param {Event} ev . |
| * @return {Element} The original target of the event. |
| */ |
| Polymer.Gestures.findOriginalTarget = function(ev) {}; |
| |
| /** |
| * @type {!Object} |
| */ |
| Polymer.Gestures.gestures = {}; |
| |
| /** |
| * @param {Node} node |
| * @param {string} value |
| */ |
| Polymer.Gestures.setTouchAction = function(node, value) {}; |
| |
| /** |
| * @type {!Object} |
| */ |
| Polymer.Gestures.gestures.tap = {}; |
| |
| /** |
| * Reset the tap gesture's state manually |
| * @type {function()} |
| */ |
| Polymer.Gestures.gestures.tap.reset = function() {}; |
| |
| /** |
| * @param {number} handle |
| */ |
| PolymerElement.prototype.cancelAsync = function(handle) {}; |
| |
| /** |
| * Call debounce to collapse multiple requests for a named task into one |
| * invocation, which is made after the wait time has elapsed with no new |
| * request. If no wait time is given, the callback is called at microtask timing |
| * (guaranteed to be before paint). |
| * @param {string} jobName |
| * @param {!Function} callback |
| * @param {number=} wait |
| */ |
| PolymerElement.prototype.debounce = function(jobName, callback, wait) {}; |
| |
| /** |
| * Cancels an active debouncer without calling the callback. |
| * @param {string} jobName |
| */ |
| PolymerElement.prototype.cancelDebouncer = function(jobName) {}; |
| |
| /** |
| * Calls the debounced callback immediately and cancels the debouncer. |
| * @param {string} jobName |
| */ |
| PolymerElement.prototype.flushDebouncer = function(jobName) {}; |
| |
| /** |
| * @param {string} jobName |
| * @return {boolean} True if the named debounce task is waiting to run. |
| */ |
| PolymerElement.prototype.isDebouncerActive = function(jobName) {}; |
| |
| |
| /** |
| * Applies a CSS transform to the specified node, or this element if no node is |
| * specified. transform is specified as a string. |
| * @param {string} transform |
| * @param {HTMLElement=} node |
| */ |
| PolymerElement.prototype.transform = function(transform, node) {}; |
| |
| /** |
| * Transforms the specified node, or this element if no node is specified. |
| * @param {number|string} x |
| * @param {number|string} y |
| * @param {number|string} z |
| * @param {HTMLElement=} node |
| */ |
| PolymerElement.prototype.translate3d = function(x, y, z, node) {}; |
| |
| /** |
| * Dynamically imports an HTML document. |
| * @param {string} href |
| * @param {Function=} onload |
| * @param {Function=} onerror |
| * @param {boolean=} async |
| */ |
| PolymerElement.prototype.importHref = function(href, onload, onerror, async) {}; |
| |
| /** |
| * Checks whether an element is in this element's light DOM tree. |
| * @param {?Node} node The element to be checked. |
| * @return {boolean} true if node is in this element's light DOM tree. |
| */ |
| PolymerElement.prototype.isLightDescendant = function(node) {}; |
| |
| /** |
| * Checks whether an element is in this element's local DOM tree. |
| * @param {?Node} node The element to be checked. |
| * @return {boolean} true if node is in this element's local DOM tree. |
| */ |
| PolymerElement.prototype.isLocalDescendant = function(node) {}; |
| |
| /** |
| * Delete an element from an array. |
| * @param {!Array|string} array Path to array from which to remove the item (or |
| * the array itself). |
| * @param {*} item Item to remove |
| * @return {!Array} The array with the item removed. |
| */ |
| PolymerElement.prototype.arrayDelete = function(array, item) {}; |
| |
| /** |
| * Resolve a url to make it relative to the current doc. |
| * @param {string} url |
| * @return {string} |
| */ |
| PolymerElement.prototype.resolveUrl = function(url) {}; |
| |
| /** |
| * Re-evaluates and applies custom CSS properties based on dynamic |
| * changes to this element's scope, such as adding or removing classes |
| * in this element's local DOM. |
| * |
| * For performance reasons, Polymer's custom CSS property shim relies |
| * on this explicit signal from the user to indicate when changes have |
| * been made that affect the values of custom properties. |
| * |
| * @param {Object=} properties Properties object which, if provided is mixed |
| * into the element's `customStyle` property. This argument provides a |
| * shortcut for setting `customStyle` and then calling `updateStyles`. |
| */ |
| PolymerElement.prototype.updateStyles = function(properties) {}; |
| |
| /** |
| * @type {!Object<string, string|undefined>} |
| */ |
| PolymerElement.prototype.customStyle; |
| |
| /** |
| * Convenience method for creating an element and configuring it. |
| * @param {string} tagName HTML tag name |
| * @param {IObject<string, *>=} properties Object of properties to configure on the instance |
| * @return {!Element} |
| */ |
| PolymerElement.prototype.create = function(tagName, properties) {}; |
| |
| /** |
| * Returns the computed style value for the given property. |
| * @param {string} property |
| * @return {string} the computed value |
| */ |
| PolymerElement.prototype.getComputedStyleValue = function(property) {}; |
| |
| /** |
| * Logs a message to the console. |
| * |
| * @param {...*} var_args |
| * @protected |
| */ |
| PolymerElement.prototype._log = function(var_args) {}; |
| |
| /** |
| * Logs a message to the console with a 'warn' level. |
| * |
| * @param {...*} var_args |
| * @protected |
| */ |
| PolymerElement.prototype._warn = function(var_args) {}; |
| |
| /** |
| * Logs a message to the console with an 'error' level. |
| * |
| * @param {...*} var_args |
| * @protected |
| */ |
| PolymerElement.prototype._error = function(var_args) {}; |
| |
| /** |
| * Formats string arguments together for a console log. |
| * |
| * @param {...*} var_args |
| * @return {!Array} The formatted array of args to a log function. |
| * @protected |
| */ |
| PolymerElement.prototype._logf = function(var_args) {}; |
| |
| /** @type {boolean} True after this.ready() has run */ |
| PolymerElement.prototype._readied; |
| |
| /** |
| * Do not call this function. |
| * |
| * @param {string} path . |
| * @param {*} value . |
| */ |
| PolymerElement.prototype._notifyPathUp = function(path, value) {}; |
| |
| /** |
| * Do not call this function. |
| * |
| * @param {string} path . |
| * @param {*} value . |
| */ |
| PolymerElement.prototype._pathEffector = function(path, value) {}; |
| |
| /** |
| * Do not call this function. |
| * |
| * @param {string} path . |
| * @param {*} value . |
| */ |
| PolymerElement.prototype._propertySetter = function(path, value) {}; |
| |
| /** |
| * Do not call this function. |
| * |
| * @param {string} path . |
| */ |
| PolymerElement.prototype._notifyChange = function(path) {}; |
| |
| /** |
| * A Polymer DOM API for manipulating DOM such that local DOM and light DOM |
| * trees are properly maintained. |
| * |
| * @constructor |
| */ |
| var PolymerDomApi = function() {}; |
| |
| /** |
| * @param {?Node} node |
| * @return {boolean} |
| */ |
| PolymerDomApi.prototype.deepContains = function(node) {}; |
| |
| /** @param {!Node} node */ |
| PolymerDomApi.prototype.appendChild = function(node) {}; |
| |
| /** |
| * @param {!Node} oldNode |
| * @param {!Node} newNode |
| */ |
| PolymerDomApi.prototype.replaceChild = function(oldNode, newNode) {}; |
| |
| /** |
| * @param {!Node} node |
| * @param {?Node} beforeNode |
| */ |
| PolymerDomApi.prototype.insertBefore = function(node, beforeNode) {}; |
| |
| /** @param {!Node} node */ |
| PolymerDomApi.prototype.removeChild = function(node) {}; |
| |
| /** @type {!Array<!HTMLElement>} */ |
| PolymerDomApi.prototype.children; |
| |
| /** @type {!Array<!Node>} */ |
| PolymerDomApi.prototype.childNodes; |
| |
| /** @type {?Node} */ |
| PolymerDomApi.prototype.parentNode; |
| |
| /** @type {?Node} */ |
| PolymerDomApi.prototype.firstChild; |
| |
| /** @type {?Node} */ |
| PolymerDomApi.prototype.lastChild; |
| |
| /** @type {?HTMLElement} */ |
| PolymerDomApi.prototype.firstElementChild; |
| |
| /** @type {?HTMLElement} */ |
| PolymerDomApi.prototype.lastElementChild; |
| |
| /** @type {?Node} */ |
| PolymerDomApi.prototype.previousSibling; |
| |
| /** @type {?Node} */ |
| PolymerDomApi.prototype.nextSibling; |
| |
| /** @type {?HTMLElement} */ |
| PolymerDomApi.prototype.previousElementSibling; |
| |
| /** @type {?HTMLElement} */ |
| PolymerDomApi.prototype.nextElementSibling; |
| |
| /** @type {string} */ |
| PolymerDomApi.prototype.textContent; |
| |
| /** @type {string} */ |
| PolymerDomApi.prototype.innerHTML; |
| |
| /** @type {?HTMLElement} */ |
| PolymerDomApi.prototype.activeElement; |
| |
| /** |
| * @param {string} selector |
| * @return {?HTMLElement} |
| */ |
| PolymerDomApi.prototype.querySelector = function(selector) {}; |
| |
| /** |
| * @param {string} selector |
| * @return {!Array<!HTMLElement>} |
| */ |
| PolymerDomApi.prototype.querySelectorAll = function(selector) {}; |
| |
| /** @return {!Array<!Node>} */ |
| PolymerDomApi.prototype.getDistributedNodes = function() {}; |
| |
| /** @return {!Array<!Node>} */ |
| PolymerDomApi.prototype.getDestinationInsertionPoints = function() {}; |
| |
| /** @return {?Node} */ |
| PolymerDomApi.prototype.getOwnerRoot = function() {}; |
| |
| /** |
| * @param {string} attribute |
| * @param {string|number|boolean} value Values are converted to strings with |
| * ToString, so we accept number and boolean since both convert easily to |
| * strings. |
| */ |
| PolymerDomApi.prototype.setAttribute = function(attribute, value) {}; |
| |
| /** @param {string} attribute */ |
| PolymerDomApi.prototype.removeAttribute = function(attribute) {}; |
| |
| /** |
| * @typedef {function(!PolymerDomApi.ObserveInfo)} |
| */ |
| PolymerDomApi.ObserveCallback; |
| |
| /** |
| * @typedef {{ |
| * target: !Node, |
| * addedNodes: !Array<!Node>, |
| * removedNodes: !Array<!Node> |
| * }} |
| */ |
| PolymerDomApi.ObserveInfo; |
| |
| /** |
| * A virtual type for observer callback handles. |
| * |
| * @private @constructor |
| */ |
| PolymerDomApi.ObserveHandle = function() {}; |
| |
| /** |
| * Notifies callers about changes to the element's effective child nodes, |
| * the same list as returned by `getEffectiveChildNodes`. |
| * |
| * @param {!PolymerDomApi.ObserveCallback} callback The supplied callback |
| * is called with an `info` argument which is an object that provides |
| * the `target` on which the changes occurred, a list of any nodes |
| * added in the `addedNodes` array, and nodes removed in the |
| * `removedNodes` array. |
| * |
| * @return {!PolymerDomApi.ObserveHandle} Handle which is the argument to |
| * `unobserveNodes`. |
| */ |
| PolymerDomApi.prototype.observeNodes = function(callback) {}; |
| |
| /** |
| * Stops observing changes to the element's effective child nodes. |
| * |
| * @param {!PolymerDomApi.ObserveHandle} handle The handle for the |
| * callback that should no longer receive notifications. This |
| * handle is returned from `observeNodes`. |
| */ |
| PolymerDomApi.prototype.unobserveNodes = function(handle) {}; |
| |
| /** @type {?DOMTokenList} */ |
| PolymerDomApi.prototype.classList; |
| |
| /** |
| * @param {string} selector |
| * @return {!Array<!HTMLElement>} |
| */ |
| PolymerDomApi.prototype.queryDistributedElements = function(selector) {}; |
| |
| /** |
| * Returns a list of effective child nodes for this element. |
| * |
| * @return {!Array<!HTMLElement>} |
| */ |
| PolymerDomApi.prototype.getEffectiveChildNodes = function() {}; |
| |
| /** |
| * A Polymer Event API. |
| * |
| * @constructor |
| */ |
| var PolymerEventApi = function() {}; |
| |
| /** @type {?EventTarget} */ |
| PolymerEventApi.prototype.rootTarget; |
| |
| /** @type {?EventTarget} */ |
| PolymerEventApi.prototype.localTarget; |
| |
| /** @type {?Array<!Element>|undefined} */ |
| PolymerEventApi.prototype.path; |
| |
| /** @type {Event} */ |
| PolymerEventApi.prototype.event; |
| |
| |
| /** @const */ |
| Polymer.Async = {}; |
| |
| /** |
| * @param {function()} callback |
| * @param {number=} waitTime |
| * @return {number} |
| */ |
| Polymer.Async.run = function (callback, waitTime) {}; |
| |
| /** |
| * @param {number} handle |
| */ |
| Polymer.Async.cancel = function(handle) {}; |
| |
| /** |
| * polymer-onerror experiment relies on this private API, so expose it only |
| * to let the compilation work. Do not use in user code. |
| */ |
| Polymer.Async._atEndOfMicrotask = function() {}; |
| |
| |
| /** |
| * Returns a Polymer-friendly API for manipulating DOM of a specified node or |
| * an event API for a specified event.. |
| * |
| * @param {?Node|?Event} nodeOrEvent |
| * @return {!PolymerDomApi|!PolymerEventApi} |
| */ |
| Polymer.dom = function(nodeOrEvent) {}; |
| |
| Polymer.dom.flush = function() {}; |
| |
| /** @constructor */ |
| Polymer.Debouncer = function() {}; |
| |
| Polymer.Debouncer.prototype = { |
| /** |
| * @param {function()} callback |
| * @param {number} wait |
| */ |
| go: function(callback, wait) {}, |
| |
| stop: function() {}, |
| |
| complete: function() {} |
| }; |
| |
| /** @param {!Polymer.Debouncer} debouncer */ |
| Polymer.dom.addDebouncer = function(debouncer) {}; |
| |
| |
| /** |
| * Returns whether the given object is an instance of a Polymer element. |
| * @param {*} object |
| * @return {boolean} |
| */ |
| Polymer.isInstance = function(object) {}; |
| |
| |
| /** @const */ |
| Polymer.CaseMap = {}; |
| |
| /** |
| * Convert a string from dash to camel-case. |
| * @param {string} dash |
| * @return {string} The string in camel-case. |
| */ |
| Polymer.CaseMap.dashToCamelCase = function(dash) {}; |
| |
| /** |
| * Convert a string from camel-case to dash format. |
| * @param {string} camel |
| * @return {string} The string in dash format. |
| */ |
| Polymer.CaseMap.camelToDashCase = function(camel) {}; |
| |
| |
| /** |
| * A Polymer data structure abstraction. |
| * |
| * @param {?Array} userArray |
| * @constructor |
| */ |
| Polymer.Collection = function(userArray) {}; |
| |
| Polymer.Collection.prototype.initMap = function() {}; |
| |
| /** |
| * @param {*} item |
| */ |
| Polymer.Collection.prototype.add = function(item) {}; |
| |
| /** |
| * @param {number|string} key |
| */ |
| Polymer.Collection.prototype.removeKey = function(key) {}; |
| |
| /** |
| * @param {*} item |
| * @return {number|string} The key of the item removed. |
| */ |
| Polymer.Collection.prototype.remove = function(item) {}; |
| |
| /** |
| * @param {*} item |
| * @return {number|string} The key of the item. |
| */ |
| Polymer.Collection.prototype.getKey = function(item) {}; |
| |
| /** |
| * @return {!Array<number|string>} The key of the item removed. |
| */ |
| Polymer.Collection.prototype.getKeys = function() {}; |
| |
| /** |
| * @param {number|string} key |
| * @param {*} item |
| */ |
| Polymer.Collection.prototype.setItem = function(key, item) {}; |
| |
| /** |
| * @param {number|string} key |
| * @return {*} The item for the given key if present. |
| */ |
| Polymer.Collection.prototype.getItem = function(key) {}; |
| |
| /** |
| * @return {!Array} The items in the collection |
| */ |
| Polymer.Collection.prototype.getItems = function() {}; |
| |
| /** |
| * @param {!Array} userArray |
| * @return {!Polymer.Collection} A new Collection wrapping the given array. |
| */ |
| Polymer.Collection.get = function(userArray) {}; |
| |
| /** |
| * @param {!Array} userArray |
| * @param {!Array<!PolymerSplice>} splices |
| * @return {!Array<!PolymerKeySplice>} KeySplices with added and removed keys |
| */ |
| Polymer.Collection.applySplices = function(userArray, splices) {}; |
| |
| /** |
| * Settings pulled from |
| * https://github.com/Polymer/polymer/blob/master/lib/utils/settings.html |
| * @const |
| */ |
| Polymer.Settings = {}; |
| |
| /** @type {string} */ |
| Polymer.Settings.dom; |
| |
| /** @type {boolean} */ |
| Polymer.Settings.wantShadow; |
| |
| /** @type {boolean} */ |
| Polymer.Settings.hasShadow; |
| |
| /** @type {boolean} */ |
| Polymer.Settings.nativeShadow; |
| |
| /** @type {boolean} */ |
| Polymer.Settings.useShadow; |
| |
| /** @type {boolean} */ |
| Polymer.Settings.useNativeShadow; |
| |
| /** @type {boolean} */ |
| Polymer.Settings.useNativeImports; |
| |
| /** @type {boolean} */ |
| Polymer.Settings.useNativeCustomElements; |
| |
| /** @type {boolean} */ |
| Polymer.Settings.useNativeCSSProperties; |
| |
| |
| /** |
| * @see https://github.com/Polymer/polymer/blob/master/src/lib/template/templatizer.html |
| * @polymerBehavior |
| */ |
| Polymer.Templatizer = { |
| ctor: function() {}, |
| |
| /** |
| * @param {?Object=} model |
| * @return {?Element} |
| */ |
| stamp: function(model) {}, |
| |
| /** |
| * @param {?Element} template |
| * @param {boolean=} mutableData In Polymer 1.x, passing this argument is a |
| * no-op. |
| */ |
| templatize: function(template, mutableData) {}, |
| |
| /** |
| * Returns the template "model" associated with a given element, which |
| * serves as the binding scope for the template instance the element is |
| * contained in. A template model is an instance of `Polymer.Base`, and |
| * should be used to manipulate data associated with this template instance. |
| * |
| * Example: |
| * |
| * var model = modelForElement(el); |
| * if (model.index < 10) { |
| * model.set('item.checked', true); |
| * } |
| * |
| * @param {?HTMLElement} el Element for which to return a template model. |
| * @return {(!PolymerElement)|undefined} Model representing the binding scope for |
| * the element. |
| */ |
| modelForElement: function(el) {}, |
| |
| /** |
| * @param {function()} fn |
| * @protected |
| */ |
| _debounceTemplate: function(fn) {} |
| }; |
| |
| |
| |
| /** |
| * A node produced by Templatizer which has a templateInstance property. |
| * |
| * @constructor |
| * @extends {HTMLElement} |
| */ |
| var TemplatizerNode = function() {}; |
| |
| |
| /** @type {?PolymerElement} */ |
| TemplatizerNode.prototype._templateInstance; |
| |
| |
| /** |
| * @see https://github.com/Polymer/polymer/blob/1.x/src/lib/template/dom-if.html |
| * @extends {PolymerElement} |
| * @constructor |
| */ |
| var DomIf = function() {}; |
| |
| |
| /** |
| * Forces the element to render its content. Normally rendering is |
| * asynchronous to a provoking change. This is done for efficiency so |
| * that multiple changes trigger only a single render. The render method |
| * should be called if, for example, template rendering is required to |
| * validate application state. |
| */ |
| DomIf.prototype.render = function() {}; |
| |
| |
| |
| /** |
| * @see https://github.com/Polymer/polymer/blob/master/src/lib/template/dom-repeat.html |
| * @extends {PolymerElement} |
| * @constructor |
| */ |
| var DomRepeatElement = function() {}; |
| |
| |
| /** |
| * Forces the element to render its content. Normally rendering is |
| * asynchronous to a provoking change. This is done for efficiency so |
| * that multiple changes trigger only a single render. The render method |
| * should be called if, for example, template rendering is required to |
| * validate application state. |
| */ |
| DomRepeatElement.prototype.render = function() {}; |
| |
| |
| /** |
| * Returns the item associated with a given element stamped by |
| * this `dom-repeat`. |
| * |
| * @param {!HTMLElement} el Element for which to return the item. |
| * @return {*} Item associated with the element. |
| */ |
| DomRepeatElement.prototype.itemForElement = function(el) {}; |
| |
| |
| /** |
| * Returns the `Polymer.Collection` key associated with a given |
| * element stamped by this `dom-repeat`. |
| * |
| * @param {!HTMLElement} el Element for which to return the key. |
| * @return {*} Key associated with the element. |
| */ |
| DomRepeatElement.prototype.keyForElement = function(el) {}; |
| |
| |
| /** |
| * Returns the inst index for a given element stamped by this `dom-repeat`. |
| * If `sort` is provided, the index will reflect the sorted order (rather |
| * than the original array order). |
| * |
| * @param {!HTMLElement} el Element for which to return the index. |
| * @return {*} Row index associated with the element (note this may |
| * not correspond to the array index if a user `sort` is applied). |
| */ |
| DomRepeatElement.prototype.indexForElement = function(el) {}; |
| |
| |
| /** |
| * Count of currently rendered items after `filter` (if any) has been applied. |
| * If "chunking mode" is enabled, `renderedItemCount` is updated each time a |
| * set of template instances is rendered. |
| * |
| * @type {number} |
| */ |
| DomRepeatElement.prototype.renderedItemCount; |
| |
| |
| |
| /** |
| * @see https://github.com/Polymer/polymer/blob/master/src/lib/template/array-selector.html |
| * @extends {PolymerElement} |
| * @constructor |
| */ |
| var ArraySelectorElement = function() {}; |
| |
| |
| /** |
| * Returns whether the item is currently selected. |
| * |
| * @param {*} item Item from `items` array to test |
| * @return {boolean} Whether the item is selected |
| */ |
| ArraySelectorElement.prototype.isSelected = function(item) {}; |
| |
| |
| /** |
| * Clears the selection state. |
| */ |
| ArraySelectorElement.prototype.clearSelection = function() {}; |
| |
| |
| /** |
| * Deselects the given item if it is already selected. |
| * |
| * @param {*} item Item from `items` array to deselect |
| */ |
| ArraySelectorElement.prototype.deselect = function(item) {}; |
| |
| |
| /** |
| * Selects the given item. When `toggle` is true, this will automatically |
| * deselect the item if already selected. |
| * |
| * @param {*} item Item from `items` array to select |
| */ |
| ArraySelectorElement.prototype.select = function(item) {}; |
| |
| |
| /** |
| * An Event type fired when moving while finger/button is down. |
| * state - a string indicating the tracking state: |
| * + start: fired when tracking is first detected (finger/button down and |
| * moved past a pre-set distance threshold) |
| * + track: fired while tracking |
| * + end: fired when tracking ends |
| * x - clientX coordinate for event |
| * y - clientY coordinate for event |
| * dx - change in pixels horizontally since the first track event |
| * dy - change in pixels vertically since the first track event |
| * ddx - change in pixels horizontally since last track event |
| * ddy - change in pixels vertically since last track event |
| * hover() - a function that may be called to determine the element currently |
| * being hovered |
| * |
| * @typedef {{ |
| * state: string, |
| * x: number, |
| * y: number, |
| * dx: number, |
| * dy: number, |
| * ddx: number, |
| * ddy: number, |
| * hover: (function(): Node) |
| * }} |
| */ |
| var PolymerTrackEvent; |
| |
| /** |
| * An Event type fired when a finger does down, up, or taps. |
| * x - clientX coordinate for event |
| * y - clientY coordinate for event |
| * sourceEvent - the original DOM event that caused the down action |
| * |
| * @typedef {{ |
| * x: number, |
| * y: number, |
| * sourceEvent: Event |
| * }} |
| */ |
| var PolymerTouchEvent; |
| |
| /** |
| * @typedef {{ |
| * index: number, |
| * removed: !Array, |
| * addedCount: number, |
| * object: !Array, |
| * type: string, |
| * }} |
| */ |
| var PolymerSplice; |
| |
| /** |
| * @typedef {{ |
| * added: !Array<string|number>, |
| * removed: !Array<string|number> |
| * }} |
| */ |
| var PolymerKeySplice; |
| |
| /** |
| * @typedef {{ |
| * indexSplices: ?Array<!PolymerSplice>, |
| * keySplices: ?Array<!PolymerKeySplice> |
| * }} |
| */ |
| var PolymerSpliceChange; |
| |
| /** |
| * The type of the object received by an observer function when deep |
| * sub-property observation is enabled. See: |
| * https://www.polymer-project.org/1.0/docs/devguide/properties.html#deep-observation |
| * |
| * @typedef {{ |
| * path: string, |
| * value: (?Object|undefined), |
| * base: (?Object|undefined) |
| * }} |
| */ |
| var PolymerDeepPropertyChange; |
| |
| /** |
| * The interface that iconsets should obey. Iconsets are registered by setting |
| * their name in the IronMeta 'iconset' db, and a value of type Polymer.Iconset. |
| * |
| * Used by iron-icon but needs to live here since iron-icon, iron-iconset, etc don't |
| * depend on each other at all and talk only through iron-meta. |
| * |
| * @interface |
| */ |
| Polymer.Iconset = function() {}; |
| |
| /** |
| * Applies an icon to the given element as a css background image. This |
| * method does not size the element, and it's usually necessary to set |
| * the element's height and width so that the background image is visible. |
| * |
| * @param {Element} element The element to which the icon is applied. |
| * @param {string} icon The name of the icon to apply. |
| * @param {string=} theme (optional) The name or index of the icon to apply. |
| * @param {number=} scale (optional, defaults to 1) Icon scaling factor. |
| */ |
| Polymer.Iconset.prototype.applyIcon = function( |
| element, icon, theme, scale) {}; |
| |
| /** |
| * Remove an icon from the given element by undoing the changes effected |
| * by `applyIcon`. |
| * |
| * @param {Element} element The element from which the icon is removed. |
| */ |
| Polymer.Iconset.prototype.removeIcon = function(element) {}; |
| |
| Polymer.ResolveUrl = {}; |
| |
| /** |
| * @param {string} cssText Some CSS text taken from ownerDocument. |
| * @param {!Document} ownerDocument The source of the css. |
| * @return {string} The given CSS text with its URLs rewritten to be based on |
| * the primary document of this window rather than the given ownerDocument. |
| */ |
| Polymer.ResolveUrl.resolveCss = function(cssText, ownerDocument) {} |
| /** |
| * @param {!Element} element An element whose URL attributes need to be renormed. |
| * @param {!Document} ownerDocument The document whose URL is the base of the |
| * element's current attributes. |
| */ |
| Polymer.ResolveUrl.resolveAttrs = function(element, ownerDocument) {} |
| /** |
| * @param {string} url A url that needs to be renormed. |
| * @param {?string} baseURI The current base of URL for the URL. |
| * @return {string} The given url rewritten to be based on |
| * the primary document of this window rather than the given url. |
| */ |
| Polymer.ResolveUrl.resolveUrl = function(url, baseURI) {} |
| |
| /** @const */ |
| Polymer.RenderStatus = {}; |
| |
| /** |
| * Makes callback when first render occurs or immediately if render has occured. |
| * @param {!function()} cb Callback function to be invoked. |
| */ |
| Polymer.RenderStatus.whenReady = function(cb) {} |
| |
| /** |
| * Queue up function call on next render. |
| * @param {!Element} element The element on which the function call is made. |
| * @param {!function()} fn The function called on next render. |
| * @param {...*} args The function arguments. |
| */ |
| Polymer.RenderStatus.afterNextRender = function(element, fn, args) {} |
| |
| |
| |
| /** |
| * Static analysis for Polymer. |
| * @const |
| */ |
| var hydrolysis = {}; |
| |
| /** |
| * A database of Polymer metadata defined in HTML |
| * @param {boolean} attachAST If true, attach a parse5 compliant AST |
| * @param {Object=} opt_loader An optional FileLoader used to load |
| * external resources |
| */ |
| hydrolysis.Analyzer = function(attachAST, opt_loader) {}; |
| |
| |
| /** |
| * Shorthand for transitively loading and processing all imports |
| * beginning at href. |
| * @param {string} href The root import to begin loading from. |
| * @param {Object=} opt_options Any additional options for the load. |
| */ |
| hydrolysis.Analyzer.analyze = function(href, opt_options) {}; |
| |
| |
| |
| /** |
| * Contains information useful for debugging. Should not be used in production |
| * code and the API may change on short notice. |
| * @const |
| */ |
| Polymer.telemetry = {}; |
| |
| /** |
| * Number of elements instantiated so far. |
| * @type {number} |
| */ |
| Polymer.telemetry.instanceCount; |
| |
| /** |
| * Array of all registered element prototypes. Being prototypes, not all runtime |
| * properties will be available, but eg. `is` is always there. |
| * @type {!Array<!PolymerElement>} |
| */ |
| Polymer.telemetry.registrations; |
| |
| /** @const */ |
| Polymer.AppLayout = {}; |
| |
| /** @constructor */ |
| Polymer.AppLayout.LocalDomWithBackground = function(){}; |
| /** @type {!HTMLElement} */ |
| Polymer.AppLayout.LocalDomWithBackground.prototype.backgroundFrontLayer; |
| /** @type {!HTMLElement} */ |
| Polymer.AppLayout.LocalDomWithBackground.prototype.backgroundRearLayer; |
| /** @type {!HTMLElement} */ |
| Polymer.AppLayout.LocalDomWithBackground.prototype.background; |
| |
| /** |
| * @constructor |
| * @extends {PolymerElement} |
| */ |
| Polymer.AppLayout.ElementWithBackground = function(){}; |
| |
| // TODO(ajo): Follow up with app-layout team and remove private api from this prototype |
| Polymer.AppLayout.ElementWithBackground.prototype = { |
| /** @type {!Polymer.AppLayout.LocalDomWithBackground} */ |
| $: null, |
| /** @return {boolean} True if there's content below the current element */ |
| isContentBelow: function(){}, |
| /** Updates the elements scroll state */ |
| _updateScrollState: function(){}, |
| /** @return {boolean} true if the element is on screen */ |
| isOnScreen: function(){}, |
| /** @type {number} Internal bookkeeping to track screen position */ |
| _deltaHeight: 0, |
| /** @return {?Element} Element in local dom by id. */ |
| _getDOMRef: function(title){} |
| } |
| |
| /** @const */ |
| Polymer.ArraySplice = {}; |
| |
| /** |
| * Returns an array of splice records indicating the minimum edits required |
| * to transform the `previous` array into the `current` array. |
| * |
| * Splice records are ordered by index and contain the following fields: |
| * - `index`: index where edit started |
| * - `removed`: array of removed items from this index |
| * - `addedCount`: number of items added at this index |
| * |
| * This function is based on the Levenshtein "minimum edit distance" |
| * algorithm. Note that updates are treated as removal followed by addition. |
| * |
| * The worst-case time complexity of this algorithm is `O(l * p)` |
| * l: The length of the current array |
| * p: The length of the previous array |
| * |
| * However, the worst-case complexity is reduced by an `O(n)` optimization |
| * to detect any shared prefix & suffix between the two arrays and only |
| * perform the more expensive minimum edit distance calculation over the |
| * non-shared portions of the arrays. |
| * |
| * @param {!Array} current The "changed" array for which splices will be |
| * calculated. |
| * @param {!Array} previous The "unchanged" original array to compare |
| * `current` against to determine the splices. |
| * @return {!Array} Returns an array of splice record objects. Each of these |
| * contains: `index` the location where the splice occurred; `removed` |
| * the array of removed items from this location; `addedCount` the number |
| * of items added at this location. |
| */ |
| Polymer.ArraySplice.calculateSplices = function(current, previous) {}; |
| |
| /** |
| * @constructor @extends {PolymerElement} |
| */ |
| Polymer.DomModule = function() {}; |
| |
| /** |
| * Retrieves the dom specified by `selector` in the module specified by |
| * `id`. For example, this.import('foo', 'img'); |
| * @param {string} id |
| * @param {string=} opt_selector |
| * @return {?HTMLElement} Returns the dom which matches `selector` in the module |
| * at the specified `id`. |
| */ |
| Polymer.DomModule.import = function(id, opt_selector) {}; |
| |
| /** @const */ |
| Polymer.Path = { |
| /** |
| * @param {string=} base |
| * @param {string=} newBase |
| * @param {string=} path |
| * @return {string} |
| */ |
| translate: function(base, newBase, path) {}, |
| |
| /** |
| * @param {string=} base |
| * @param {string=} wildcard |
| * @param {string=} path |
| * @return {boolean} |
| */ |
| matches: function(base, wildcard, path) {} |
| }; |
| |
| /** |
| * For compatibility with both Polymer 1.0 and 2.0, code may check for certain |
| * objects and properties which don't exist in Polymer 1.0. |
| * |
| * We give those objects and properties the `undefined` type here, because |
| * the dependency tree will either contain these externs and Polymer 1.0 or |
| * it will contain Polymer 2.0 which defines the full types. |
| */ |
| |
| /** @type {undefined} */ |
| var ShadyDOM; |
| |
| Polymer.flush; |
| Polymer.enqueueDebouncer; |
| Polymer.Async.animationFrame; |
| Polymer.Async.idlePeriod; |
| Polymer.Async.microTask; |
| Polymer.Debouncer.debounce; |
| |
| Polymer.Templatizer.mutableData; |
| Polymer.Templatizer.parentModel; |
| Polymer.Templatizer.forwardHostProp; |
| Polymer.Templatizer.notifyInstanceProp; |
| Polymer.Templatizer._setPendingPropertyOrPath; |
| Polymer.Templatizer._setPendingProperty; |
| Polymer.Templatizer._instanceProps; |
| |
| /** |
| * @param {number} index |
| * @return {boolean} |
| */ |
| ArraySelectorElement.prototype.isIndexSelected = function(index) {}; |