@polymer/iron-component-page
Version:
Turns a raw element definition into beautiful documentation
1,331 lines • 1.16 MB
JSON
{
"schema_version": "1.0.0",
"namespaces": [
{
"name": "Polymer",
"description": "",
"summary": "Polymer is a lightweight library built on top of the web\nstandards-based Web Components API's, and makes it easy to build your\nown custom HTML elements.",
"sourceRange": {
"file": "lib/utils/boot.html",
"start": {
"line": 27,
"column": 2
},
"end": {
"line": 29,
"column": 3
}
},
"namespaces": [
{
"name": "Polymer.CaseMap",
"description": "Module with utilities for converting between \"dash-case\" and \"camelCase\"\nidentifiers.",
"summary": "Module that provides utilities for converting between \"dash-case\"\n and \"camelCase\".",
"sourceRange": {
"file": "lib/utils/case-map.html",
"start": {
"line": 27,
"column": 2
},
"end": {
"line": 59,
"column": 4
}
},
"functions": [
{
"name": "Polymer.CaseMap.dashToCamelCase",
"description": "Converts \"dash-case\" identifier (e.g. `foo-bar-baz`) to \"camelCase\"\n(e.g. `fooBarBaz`).",
"summary": "",
"sourceRange": {
"file": "lib/utils/case-map.html",
"start": {
"line": 37,
"column": 4
},
"end": {
"line": 43,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "string",
"desc": "Dash-case identifier",
"name": "dash"
}
],
"return": {
"type": "string",
"desc": "Camel-case representation of the identifier"
}
},
{
"name": "Polymer.CaseMap.camelToDashCase",
"description": "Converts \"camelCase\" identifier (e.g. `fooBarBaz`) to \"dash-case\"\n(e.g. `foo-bar-baz`).",
"summary": "",
"sourceRange": {
"file": "lib/utils/case-map.html",
"start": {
"line": 53,
"column": 4
},
"end": {
"line": 57,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "string",
"desc": "Camel-case identifier",
"name": "camel"
}
],
"return": {
"type": "string",
"desc": "Dash-case representation of the identifier"
}
}
]
},
{
"name": "Polymer.Async",
"description": "Module that provides a number of strategies for enqueuing asynchronous\ntasks. Each sub-module provides a standard `run(fn)` interface that returns a\nhandle, and a `cancel(handle)` interface for canceling async tasks before\nthey run.",
"summary": "Module that provides a number of strategies for enqueuing asynchronous\ntasks.",
"sourceRange": {
"file": "lib/utils/async.html",
"start": {
"line": 54,
"column": 2
},
"end": {
"line": 200,
"column": 4
}
},
"namespaces": [
{
"name": "Polymer.Async.timeOut",
"description": "Async interface wrapper around `setTimeout`.",
"summary": "Async interface wrapper around `setTimeout`.",
"sourceRange": {
"file": "lib/utils/async.html",
"start": {
"line": 63,
"column": 4
},
"end": {
"line": 93,
"column": 5
}
},
"functions": [
{
"name": "Polymer.Async.timeOut.after",
"description": "Returns a sub-module with the async interface providing the provided\ndelay.",
"summary": "",
"sourceRange": {
"file": "lib/utils/async.html",
"start": {
"line": 72,
"column": 6
},
"end": {
"line": 77,
"column": 7
}
},
"privacy": "public",
"params": [
{
"type": "number",
"desc": "Time to wait before calling callbacks in ms",
"name": "delay"
}
],
"return": {
"type": "AsyncInterface",
"desc": "An async timeout interface"
}
}
]
},
{
"name": "Polymer.Async.animationFrame",
"description": "Async interface wrapper around `requestAnimationFrame`.",
"summary": "Async interface wrapper around `requestAnimationFrame`.",
"sourceRange": {
"file": "lib/utils/async.html",
"start": {
"line": 102,
"column": 4
},
"end": {
"line": 118,
"column": 5
}
}
},
{
"name": "Polymer.Async.idlePeriod",
"description": "Async interface wrapper around `requestIdleCallback`. Falls back to\n`setTimeout` on browsers that do not support `requestIdleCallback`.",
"summary": "Async interface wrapper around `requestIdleCallback`.",
"sourceRange": {
"file": "lib/utils/async.html",
"start": {
"line": 128,
"column": 4
},
"end": {
"line": 152,
"column": 5
}
},
"functions": [
{
"name": "Polymer.Async.idlePeriod.run",
"description": "Enqueues a function called at `requestIdleCallback` timing.",
"summary": "",
"sourceRange": {
"file": "lib/utils/async.html",
"start": {
"line": 136,
"column": 6
},
"end": {
"line": 140,
"column": 7
}
},
"privacy": "public",
"params": [
{
"type": "function (IdleDeadline)",
"desc": "Callback to run",
"name": "fn"
}
],
"return": {
"type": "number",
"desc": "Handle used for canceling task"
}
},
{
"name": "Polymer.Async.idlePeriod.cancel",
"description": "Cancels a previously enqueued `idlePeriod` callback.",
"summary": "",
"sourceRange": {
"file": "lib/utils/async.html",
"start": {
"line": 147,
"column": 6
},
"end": {
"line": 151,
"column": 7
}
},
"privacy": "public",
"params": [
{
"type": "number",
"desc": "Handle returned from `run` of callback to cancel",
"name": "handle"
}
]
}
]
},
{
"name": "Polymer.Async.microTask",
"description": "Async interface for enqueueing callbacks that run at microtask timing.\n\nNote that microtask timing is achieved via a single `MutationObserver`,\nand thus callbacks enqueued with this API will all run in a single\nbatch, and not interleaved with other microtasks such as promises.\nPromises are avoided as an implementation choice for the time being\ndue to Safari bugs that cause Promises to lack microtask guarantees.",
"summary": "Async interface for enqueueing callbacks that run at microtask\n timing.",
"sourceRange": {
"file": "lib/utils/async.html",
"start": {
"line": 168,
"column": 4
},
"end": {
"line": 199,
"column": 5
}
},
"functions": [
{
"name": "Polymer.Async.microTask.run",
"description": "Enqueues a function called at microtask timing.",
"summary": "",
"sourceRange": {
"file": "lib/utils/async.html",
"start": {
"line": 177,
"column": 6
},
"end": {
"line": 181,
"column": 7
}
},
"privacy": "public",
"params": [
{
"type": "Function",
"desc": "Callback to run",
"name": "callback"
}
],
"return": {
"type": "*",
"desc": "Handle used for canceling task"
}
},
{
"name": "Polymer.Async.microTask.cancel",
"description": "Cancels a previously enqueued `microTask` callback.",
"summary": "",
"sourceRange": {
"file": "lib/utils/async.html",
"start": {
"line": 189,
"column": 6
},
"end": {
"line": 197,
"column": 7
}
},
"privacy": "public",
"params": [
{
"type": "number",
"desc": "Handle returned from `run` of callback to cancel",
"name": "handle"
}
]
}
]
}
]
},
{
"name": "Polymer.ResolveUrl",
"description": "Module with utilities for resolving relative URL's.",
"summary": "Module with utilities for resolving relative URL's.",
"sourceRange": {
"file": "lib/utils/resolve-url.html",
"start": {
"line": 99,
"column": 4
},
"end": {
"line": 103,
"column": 6
}
},
"functions": [
{
"name": "Polymer.ResolveUrl.resolveUrl",
"description": "Resolves the given URL against the provided `baseUri'.",
"summary": "",
"sourceRange": {
"file": "lib/utils/resolve-url.html",
"start": {
"line": 28,
"column": 4
},
"end": {
"line": 61,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "string",
"desc": "Input URL to resolve",
"name": "url"
},
{
"type": "string",
"desc": "Base URI to resolve the URL against",
"name": "baseURI"
}
],
"return": {
"type": "string",
"desc": "resolved URL"
}
},
{
"name": "Polymer.ResolveUrl.resolveCss",
"description": "Resolves any relative URL's in the given CSS text against the provided\n`ownerDocument`'s `baseURI`.",
"summary": "",
"sourceRange": {
"file": "lib/utils/resolve-url.html",
"start": {
"line": 72,
"column": 4
},
"end": {
"line": 78,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "string",
"desc": "CSS text to process",
"name": "cssText"
},
{
"type": "string",
"desc": "Base URI to resolve the URL against",
"name": "baseURI"
}
],
"return": {
"type": "string",
"desc": "Processed CSS text with resolved URL's"
}
},
{
"name": "Polymer.ResolveUrl.pathFromUrl",
"description": "Returns a path from a given `url`. The path includes the trailing\n`/` from the url.",
"summary": "",
"sourceRange": {
"file": "lib/utils/resolve-url.html",
"start": {
"line": 88,
"column": 4
},
"end": {
"line": 90,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "string",
"desc": "Input URL to transform",
"name": "url"
}
],
"return": {
"type": "string",
"desc": "resolved path"
}
}
]
},
{
"name": "Polymer.settings",
"description": "Legacy settings.",
"summary": "",
"sourceRange": {
"file": "lib/utils/settings.html",
"start": {
"line": 22,
"column": 2
},
"end": {
"line": 22,
"column": 42
}
}
},
{
"name": "Polymer.StyleGather",
"description": "Module with utilities for collection CSS text from `<templates>`, external\nstylesheets, and `dom-module`s.",
"summary": "Module with utilities for collection CSS text from various sources.",
"sourceRange": {
"file": "lib/utils/style-gather.html",
"start": {
"line": 32,
"column": 2
},
"end": {
"line": 141,
"column": 4
}
},
"functions": [
{
"name": "Polymer.StyleGather.cssFromModules",
"description": "Returns CSS text of styles in a space-separated list of `dom-module`s.",
"summary": "",
"sourceRange": {
"file": "lib/utils/style-gather.html",
"start": {
"line": 42,
"column": 4
},
"end": {
"line": 49,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "string",
"desc": "List of dom-module id's within which to\nsearch for css.",
"name": "moduleIds"
}
],
"return": {
"type": "string",
"desc": "Concatenated CSS content from specified `dom-module`s"
}
},
{
"name": "Polymer.StyleGather.cssFromModule",
"description": "Returns CSS text of styles in a given `dom-module`. CSS in a `dom-module`\ncan come either from `<style>`s within the first `<template>`, or else\nfrom one or more `<link rel=\"import\" type=\"css\">` links outside the\ntemplate.\n\nAny `<styles>` processed are removed from their original location.",
"summary": "",
"sourceRange": {
"file": "lib/utils/style-gather.html",
"start": {
"line": 63,
"column": 4
},
"end": {
"line": 80,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "string",
"desc": "dom-module id to gather styles from",
"name": "moduleId"
}
],
"return": {
"type": "string",
"desc": "Concatenated CSS content from specified `dom-module`"
}
},
{
"name": "Polymer.StyleGather.cssFromTemplate",
"description": "Returns CSS text of `<styles>` within a given template.\n\nAny `<styles>` processed are removed from their original location.",
"summary": "",
"sourceRange": {
"file": "lib/utils/style-gather.html",
"start": {
"line": 92,
"column": 4
},
"end": {
"line": 109,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "HTMLTemplateElement",
"desc": "Template to gather styles from",
"name": "template"
},
{
"type": "string",
"desc": "Base URI to resolve the URL against",
"name": "baseURI"
}
],
"return": {
"type": "string",
"desc": "Concatenated CSS content from specified template"
}
},
{
"name": "Polymer.StyleGather.cssFromModuleImports",
"description": "Returns CSS text from stylsheets loaded via `<link rel=\"import\" type=\"css\">`\nlinks within the specified `dom-module`.",
"summary": "",
"sourceRange": {
"file": "lib/utils/style-gather.html",
"start": {
"line": 119,
"column": 4
},
"end": {
"line": 140,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "string",
"desc": "Id of `dom-module` to gather CSS from",
"name": "moduleId"
}
],
"return": {
"type": "string",
"desc": "Concatenated CSS content from links in specified `dom-module`"
}
}
]
},
{
"name": "Polymer.Path",
"description": "Module with utilities for manipulating structured data path strings.",
"summary": "Module with utilities for manipulating structured data path strings.",
"sourceRange": {
"file": "lib/utils/path.html",
"start": {
"line": 23,
"column": 2
},
"end": {
"line": 249,
"column": 4
}
},
"functions": [
{
"name": "Polymer.Path.isPath",
"description": "Returns true if the given string is a structured data path (has dots).\n\nExample:\n\n```\nPolymer.Path.isPath('foo.bar.baz') // true\nPolymer.Path.isPath('foo') // false\n```",
"summary": "",
"sourceRange": {
"file": "lib/utils/path.html",
"start": {
"line": 39,
"column": 4
},
"end": {
"line": 41,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "string",
"desc": "Path string",
"name": "path"
}
],
"return": {
"type": "boolean",
"desc": "True if the string contained one or more dots"
}
},
{
"name": "Polymer.Path.root",
"description": "Returns the root property name for the given path.\n\nExample:\n\n```\nPolymer.Path.root('foo.bar.baz') // 'foo'\nPolymer.Path.root('foo') // 'foo'\n```",
"summary": "",
"sourceRange": {
"file": "lib/utils/path.html",
"start": {
"line": 57,
"column": 4
},
"end": {
"line": 63,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "string",
"desc": "Path string",
"name": "path"
}
],
"return": {
"type": "string",
"desc": "Root property name"
}
},
{
"name": "Polymer.Path.isAncestor",
"description": "Given `base` is `foo.bar`, `foo` is an ancestor, `foo.bar` is not\nReturns true if the given path is an ancestor of the base path.\n\nExample:\n\n```\nPolymer.Path.isAncestor('foo.bar', 'foo') // true\nPolymer.Path.isAncestor('foo.bar', 'foo.bar') // false\nPolymer.Path.isAncestor('foo.bar', 'foo.bar.baz') // false\n```",
"summary": "",
"sourceRange": {
"file": "lib/utils/path.html",
"start": {
"line": 82,
"column": 4
},
"end": {
"line": 85,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "string",
"desc": "Path string to test against.",
"name": "base"
},
{
"type": "string",
"desc": "Path string to test.",
"name": "path"
}
],
"return": {
"type": "boolean",
"desc": "True if `path` is an ancestor of `base`."
}
},
{
"name": "Polymer.Path.isDescendant",
"description": "Given `base` is `foo.bar`, `foo.bar.baz` is an descendant\n\nExample:\n\n```\nPolymer.Path.isDescendant('foo.bar', 'foo.bar.baz') // true\nPolymer.Path.isDescendant('foo.bar', 'foo.bar') // false\nPolymer.Path.isDescendant('foo.bar', 'foo') // false\n```",
"summary": "",
"sourceRange": {
"file": "lib/utils/path.html",
"start": {
"line": 103,
"column": 4
},
"end": {
"line": 106,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "string",
"desc": "Path string to test against.",
"name": "base"
},
{
"type": "string",
"desc": "Path string to test.",
"name": "path"
}
],
"return": {
"type": "boolean",
"desc": "True if `path` is a descendant of `base`."
}
},
{
"name": "Polymer.Path.translate",
"description": "Replaces a previous base path with a new base path, preserving the\nremainder of the path.\n\nUser must ensure `path` has a prefix of `base`.\n\nExample:\n\n```\nPolymer.Path.translate('foo.bar', 'zot' 'foo.bar.baz') // 'zot.baz'\n```",
"summary": "",
"sourceRange": {
"file": "lib/utils/path.html",
"start": {
"line": 126,
"column": 4
},
"end": {
"line": 128,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "string",
"desc": "Current base string to remove",
"name": "base"
},
{
"type": "string",
"desc": "New base string to replace with",
"name": "newBase"
},
{
"type": "string",
"desc": "Path to translate",
"name": "path"
}
],
"return": {
"type": "string",
"desc": "Translated string"
}
},
{
"name": "Polymer.Path.normalize",
"description": "Converts array-based paths to flattened path. String-based paths\nare returned as-is.\n\nExample:\n\n```\nPolymer.Path.normalize(['foo.bar', 0, 'baz']) // 'foo.bar.0.baz'\nPolymer.Path.normalize('foo.bar.0.baz') // 'foo.bar.0.baz'\n```",
"summary": "",
"sourceRange": {
"file": "lib/utils/path.html",
"start": {
"line": 151,
"column": 4
},
"end": {
"line": 164,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "(string|!Array.<(string|number)>)",
"desc": "Input path",
"name": "path"
}
],
"return": {
"type": "string",
"desc": "Flattened path"
}
},
{
"name": "Polymer.Path.split",
"description": "Splits a path into an array of property names. Accepts either arrays\nof path parts or strings.\n\nExample:\n\n```\nPolymer.Path.split(['foo.bar', 0, 'baz']) // ['foo', 'bar', '0', 'baz']\nPolymer.Path.split('foo.bar.0.baz') // ['foo', 'bar', '0', 'baz']\n```",
"summary": "",
"sourceRange": {
"file": "lib/utils/path.html",
"start": {
"line": 181,
"column": 4
},
"end": {
"line": 186,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "(string|!Array.<(string|number)>)",
"desc": "Input path",
"name": "path"
}
],
"return": {
"type": "!Array.<string>",
"desc": "Array of path parts"
}
},
{
"name": "Polymer.Path.get",
"description": "Reads a value from a path. If any sub-property in the path is `undefined`,\nthis method returns `undefined` (will never throw.",
"summary": "",
"sourceRange": {
"file": "lib/utils/path.html",
"start": {
"line": 200,
"column": 4
},
"end": {
"line": 215,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "Object",
"desc": "Object from which to dereference path from",
"name": "root"
},
{
"type": "(string|!Array.<(string|number)>)",
"desc": "Path to read",
"name": "path"
},
{
"type": "Object=",
"desc": "If an object is provided to `info`, the normalized\n (flattened) path will be set to `info.path`.",
"name": "info"
}
],
"return": {
"type": "*",
"desc": "Value at path, or `undefined` if the path could not be\n fully dereferenced."
}
},
{
"name": "Polymer.Path.set",
"description": "Sets a value to a path. If any sub-property in the path is `undefined`,\nthis method will no-op.",
"summary": "",
"sourceRange": {
"file": "lib/utils/path.html",
"start": {
"line": 227,
"column": 4
},
"end": {
"line": 247,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "Object",
"desc": "Object from which to dereference path from",
"name": "root"
},
{
"type": "(string|!Array.<(string|number)>)",
"desc": "Path to set",
"name": "path"
},
{
"type": "*",
"desc": "Value to set to path",
"name": "value"
}
],
"return": {
"type": "(string|undefined)",
"desc": "The normalized version of the input path"
}
}
]
},
{
"name": "Polymer.telemetry",
"description": "Provides basic tracking of element definitions (registrations) and\ninstance counts.",
"summary": "Provides basic tracking of element definitions (registrations) and\ninstance counts.",
"sourceRange": {
"file": "lib/mixins/element-mixin.html",
"start": {
"line": 793,
"column": 2
},
"end": {
"line": 827,
"column": 4
}
}
},
{
"name": "Polymer.Gestures",
"description": "Module for adding listeners to a node for the following normalized\ncross-platform \"gesture\" events:\n- `down` - mouse or touch went down\n- `up` - mouse or touch went up\n- `tap` - mouse click or finger tap\n- `track` - mouse drag or touch move",
"summary": "Module for adding cross-platform gesture event listeners.",
"sourceRange": {
"file": "lib/utils/gestures.html",
"start": {
"line": 224,
"column": 2
},
"end": {
"line": 571,
"column": 4
}
},
"functions": [
{
"name": "Polymer.Gestures.deepTargetFind",
"description": "Finds the element rendered on the screen at the provided coordinates.\n\nSimilar to `document.elementFromPoint`, but pierces through\nshadow roots.",
"summary": "",
"sourceRange": {
"file": "lib/utils/gestures.html",
"start": {
"line": 240,
"column": 4
},
"end": {
"line": 259,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "number",
"desc": "Horizontal pixel coordinate",
"name": "x"
},
{
"type": "number",
"desc": "Vertical pixel coordinate",
"name": "y"
}
],
"return": {
"type": "HTMLElement",
"desc": "Returns the deepest shadowRoot inclusive element\nfound at the screen position given."
}
},
{
"name": "Polymer.Gestures.addListener",
"description": "Adds an event listener to a node for the given gesture type.",
"summary": "",
"sourceRange": {
"file": "lib/utils/gestures.html",
"start": {
"line": 383,
"column": 4
},
"end": {
"line": 388,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "Node",
"desc": "Node to add listener on",
"name": "node"
},
{
"type": "string",
"desc": "Gesture type: `down`, `up`, `track`, or `tap`",
"name": "evType"
},
{
"type": "Function",
"desc": "Event listener function to call",
"name": "handler"
}
],
"return": {
"type": "boolean",
"desc": "Returns true if a gesture event listener was added."
}
},
{
"name": "Polymer.Gestures.removeListener",
"description": "Removes an event listener from a node for the given gesture type.",
"summary": "",
"sourceRange": {
"file": "lib/utils/gestures.html",
"start": {
"line": 400,
"column": 4
},
"end": {
"line": 405,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "Node",
"desc": "Node to remove listener from",
"name": "node"
},
{
"type": "string",
"desc": "Gesture type: `down`, `up`, `track`, or `tap`",
"name": "evType"
},
{
"type": "Function",
"desc": "Event listener function previously passed to\n `addListener`.",
"name": "handler"
}
],
"return": {
"type": "boolean",
"desc": "Returns true if a gesture event listener was removed."
}
},
{
"name": "Polymer.Gestures.register",
"description": "Registers a new gesture event recognizer for adding new custom\ngesture event types.",
"summary": "",
"sourceRange": {
"file": "lib/utils/gestures.html",
"start": {
"line": 481,
"column": 4
},
"end": {
"line": 486,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "Object",
"desc": "Gesture recognizer descriptor",
"name": "recog"
}
]
},
{
"name": "Polymer.Gestures.setTouchAction",
"description": "Sets scrolling direction on node.\n\nThis value is checked on first move, thus it should be called prior to\nadding event listeners.",
"summary": "",
"sourceRange": {
"file": "lib/utils/gestures.html",
"start": {
"line": 516,
"column": 4
},
"end": {
"line": 521,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "Node",
"desc": "Node to set touch action setting on",
"name": "node"
},
{
"type": "string",
"desc": "Touch action value",
"name": "value"
}
]
},
{
"name": "Polymer.Gestures.prevent",
"description": "Prevents the dispatch and default action of the given event name.",
"summary": "",
"sourceRange": {
"file": "lib/utils/gestures.html",
"start": {
"line": 550,
"column": 4
},
"end": {
"line": 555,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "string",
"desc": "Event name.",
"name": "evName"
}
]
},
{
"name": "Polymer.Gestures.resetMouseCanceller",
"description": "Reset the 2500ms timeout on processing mouse input after detecting touch input.\n\nTouch inputs create synthesized mouse inputs anywhere from 0 to 2000ms after the touch.\nThis method should only be called during testing with simulated touch inputs.\nCalling this method in production may cause duplicate taps or other Gestures.",
"summary": "",
"sourceRange": {
"file": "lib/utils/gestures.html",
"start": {
"line": 566,
"column": 4
},
"end": {
"line": 570,
"column": 5
}
},
"privacy": "public",
"params": []
}
]
},
{
"name": "Polymer.RenderStatus",
"description": "Module for scheduling flushable pre-render and post-render tasks.",
"summary": "Module for scheduling flushable pre-render and post-render tasks.",
"sourceRange": {
"file": "lib/utils/render-status.html",
"start": {
"line": 73,
"column": 2
},
"end": {
"line": 126,
"column": 4
}
},
"functions": [
{
"name": "Polymer.RenderStatus.beforeNextRender",
"description": "Enqueues a callback which will be run before the next render, at\n`requestAnimationFrame` timing.\n\nThis method is useful for enqueuing work that requires DOM measurement,\nsince measurement may not be reliable in custom element callbacks before\nthe first render, as well as for batching measurement tasks in general.\n\nTasks in this queue may be flushed by calling `Polymer.RenderStatus.flush()`.",
"summary": "",
"sourceRange": {
"file": "lib/utils/render-status.html",
"start": {
"line": 90,
"column": 4
},
"end": {
"line": 95,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "*",
"desc": "Context object the callback function will be bound to",
"name": "context"
},
{
"type": "function ()",
"desc": "Callback function",
"name": "callback"
},
{
"type": "Array",
"desc": "An array of arguments to call the callback function with",
"name": "args"
}
]
},
{
"name": "Polymer.RenderStatus.afterNextRender",
"description": "Enqueues a callback which will be run after the next render, equivalent\nto one task (`setTimeout`) after the next `requestAnimationFrame`.\n\nThis method is useful for tuning the first-render performance of an\nelement or application by deferring non-critical work until after the\nfirst paint. Typical non-render-critical work may include adding UI\nevent listeners and aria attributes.",
"summary": "",
"sourceRange": {
"file": "lib/utils/render-status.html",
"start": {
"line": 111,
"column": 4
},
"end": {
"line": 116,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "*",
"desc": "Context object the callback function will be bound to",
"name": "context"
},
{
"type": "function ()",
"desc": "Callback function",
"name": "callback"
},
{
"type": "Array",
"desc": "An array of arguments to call the callback function with",
"name": "args"
}
]
}
]
},
{
"name": "Polymer.ArraySplice",
"description": "",
"summary": "Module that provides utilities for diffing arrays.",
"sourceRange": {
"file": "lib/utils/array-splice.html",
"start": {
"line": 282,
"column": 2
},
"end": {
"line": 317,
"column": 3
}
},
"functions": [
{
"name": "Polymer.ArraySplice.calculateSplices",
"description": "Returns an array of splice records indicating the minimum edits required\nto transform the `previous` array into the `current` array.\n\nSplice records are ordered by index and contain the following fields:\n- `index`: index where edit started\n- `removed`: array of removed items from this index\n- `addedCount`: number of items added at this index\n\nThis function is based on the Levenshtein \"minimum edit distance\"\nalgorithm. Note that updates are treated as removal followed by addition.\n\nThe worst-case time complexity of this algorithm is `O(l * p)`\n l: The length of the current array\n p: The length of the previous array\n\nHowever, the worst-case complexity is reduced by an `O(n)` optimization\nto detect any shared prefix & suffix between the two arrays and only\nperform the more expensive minimum edit distance calculation over the\nnon-shared portions of the arrays.",
"summary": "",
"sourceRange": {
"file": "lib/utils/array-splice.html",
"start": {
"line": 314,
"column": 4
},
"end": {
"line": 316,
"column": 5
}
},
"privacy": "public",
"params": [
{
"type": "Array",
"desc": "The \"changed\" array for which splices will be\ncalculated.",
"name": "current"
},
{
"type": "Array",
"desc": "The \"unchanged\" original array to compare\n`current` against to determine the splices.",
"name": "previous"
}
],
"return": {
"type": "Array",
"desc": "Returns an array of splice record objects. Each of these\ncontains: `index` the location where the splice occurred; `removed`\nthe array of removed items from this location; `addedCount` the number\nof items added at this location."
}
}
]
},
{
"name": "Polymer.dom",
"description": "Legacy DOM and Event manipulation API wrapper factory used to abstract\ndifferences between native Shadow DOM and \"Shady DOM\" when polyfilling on\nolder browsers.\n\nNote that in Polymer 2.x use of `Polymer.dom` is no longer required and\nin the majority of cases simply facades directly to the standard native\nAPI.",
"summary": "Legacy DOM and Event manipulation API wrapper factory used to\nabstract differences between native Shadow DOM and \"Shady DOM.\"",
"sourceRange": {
"file": "lib/legacy/polymer.dom.html",
"start": {
"line": 294,
"column": 2
},
"end": {
"line": 301,
"column": 4
}
},
"functions": [
{
"name": "Polymer.dom.matchesSelector",
"description": "Cross-platform `element.matches` shim.",
"summary": "",
"sourceRange": {
"file": "lib/legacy/polymer.dom.html",
"start": {
"line": 31,
"column": 2
},
"end": {
"line": 33,
"column": 3
}
},
"privacy": "public",
"params": [
{
"type": "Node",
"desc": "Node to check selector against",
"name": "node"
},
{
"type": "string",
"desc": "Selector to match",
"name": "selector"
}
],
"return": {
"type": "boolean",
"desc": "True if node matched selector"
}
}
]
},
{
"name": "Polymer.Templatize",
"description": "Module for preparing and stamping instances of templates that utilize\nPolymer's data-binding and declarative event listener features.\n\nExample:\n\n // Get a template from somewhere, e.g. light DOM\n let template = this.querySelector('template');\n // Prepare the template\n let TemplateClass = Polymer.Templatize.templatize(template);\n // Instance the template with an initial data model\n let instance = new TemplateClass({myProp: 'initial'});\n // Insert the instance's DOM somewhere, e.g. element's shadow DOM\n this.shadowRoot.appendChild(instance.root);\n // Changing a property on the instance will propagate to bindings\n // in the template\n instance.myProp = 'new value';\n\nThe `options` dictionary passed to `templatize` allows for customizing\nfeatures of the generated template class, including how outer-scope host\nproperties should be forwarded into template instances, how any instance\nproperties added into the template's scope should be notified out to\nthe host, and whether the instance should be decorated as a \"parent model\"\nof any event handlers.\n\n // Customze property forwarding and event model decoration\n let TemplateClass = Polymer.Templatize.templatize(template, this, {\n parentModel: true,\n instanceProps: {...},\n forwardHostProp(property, value) {...},\n notifyInstanceProp(instance, property, value) {...},\n });",
"summary": "Module for preparing and stamping instances of templates\n utilizing Polymer templating features.",
"sourceRange": {
"file": "lib/utils/templatize.html",
"start": {
"line": 336,
"column": 4
},
"end": {
"line": 466,
"column": 5
}
},
"functions": [
{
"name": "Polymer.Templatize.templatize",
"description": "Returns an anonymous `Polymer.PropertyEffects` class bound to the\n`<template>` provided. Instancing the class will result in the\ntemplate being stamped into document fragment stored as the instance's\n`root` property,