{
  "schema_version": "1.0.0",
  "elements": [
    {
      "description": "`isu-array-selector`\n\nExample:\n```html\n\n```",
      "summary": "",
      "path": "isu-array-selector.js",
      "properties": [
        {
          "name": "__dataEnabled",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 167,
              "column": 6
            },
            "end": {
              "line": 167,
              "column": 24
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "defaultValue": "false",
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "__dataClientsReady",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1116,
              "column": 6
            },
            "end": {
              "line": 1116,
              "column": 30
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataPendingClients",
          "type": "Array",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1118,
              "column": 6
            },
            "end": {
              "line": 1118,
              "column": 32
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataToNotify",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1120,
              "column": 6
            },
            "end": {
              "line": 1120,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataLinkedPaths",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1122,
              "column": 6
            },
            "end": {
              "line": 1122,
              "column": 29
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataHasPaths",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1124,
              "column": 6
            },
            "end": {
              "line": 1124,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataCompoundStorage",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1126,
              "column": 6
            },
            "end": {
              "line": 1126,
              "column": 33
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataHost",
          "type": "Polymer_PropertyEffects",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1128,
              "column": 6
            },
            "end": {
              "line": 1128,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataTemp",
          "type": "!Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1130,
              "column": 6
            },
            "end": {
              "line": 1130,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataClientsInitialized",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1132,
              "column": 6
            },
            "end": {
              "line": 1132,
              "column": 36
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__data",
          "type": "!Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1134,
              "column": 6
            },
            "end": {
              "line": 1134,
              "column": 18
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataPending",
          "type": "(!Object | null)",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1136,
              "column": 6
            },
            "end": {
              "line": 1136,
              "column": 25
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataOld",
          "type": "!Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1138,
              "column": 6
            },
            "end": {
              "line": 1138,
              "column": 21
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__computeEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1140,
              "column": 6
            },
            "end": {
              "line": 1140,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__reflectEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1142,
              "column": 6
            },
            "end": {
              "line": 1142,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__notifyEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1144,
              "column": 6
            },
            "end": {
              "line": 1144,
              "column": 27
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__propagateEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1146,
              "column": 6
            },
            "end": {
              "line": 1146,
              "column": 30
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__observeEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1148,
              "column": 6
            },
            "end": {
              "line": 1148,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__readOnly",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1150,
              "column": 6
            },
            "end": {
              "line": 1150,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__templateInfo",
          "type": "!TemplateInfo",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1152,
              "column": 6
            },
            "end": {
              "line": 1152,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "PROPERTY_EFFECT_TYPES",
          "type": "!Object.<string, string>",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1158,
              "column": 4
            },
            "end": {
              "line": 1160,
              "column": 5
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_template",
          "type": "HTMLTemplateElement",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 523,
              "column": 6
            },
            "end": {
              "line": 523,
              "column": 21
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_importPath",
          "type": "string",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 525,
              "column": 6
            },
            "end": {
              "line": 525,
              "column": 23
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "rootPath",
          "type": "string",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 527,
              "column": 6
            },
            "end": {
              "line": 527,
              "column": 20
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "importPath",
          "type": "string",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 529,
              "column": 6
            },
            "end": {
              "line": 529,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "root",
          "type": "(StampedTemplate | HTMLElement | ShadowRoot)",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 531,
              "column": 6
            },
            "end": {
              "line": 531,
              "column": 16
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "$",
          "type": "!Object.<string, !Element>",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 533,
              "column": 6
            },
            "end": {
              "line": 533,
              "column": 13
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "employees",
          "type": "?",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 48,
              "column": 6
            },
            "end": {
              "line": 55,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {}
          }
        }
      ],
      "methods": [
        {
          "name": "_stampTemplate",
          "description": "Stamps the provided template and performs instance-time setup for\nPolymer template features, including data bindings, declarative event\nlisteners, and the `this.$` map of `id`'s to nodes.  A document fragment\nis returned containing the stamped DOM, ready for insertion into the\nDOM.\n\nThis method may be called more than once; however note that due to\n`shadycss` polyfill limitations, only styles from templates prepared\nusing `ShadyCSS.prepareTemplate` will be correctly polyfilled (scoped\nto the shadow root and support CSS custom properties), and note that\n`ShadyCSS.prepareTemplate` may only be called once per element. As such,\nany styles required by in runtime-stamped templates must be included\nin the main element template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2490,
              "column": 4
            },
            "end": {
              "line": 2515,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template to stamp"
            }
          ],
          "return": {
            "type": "!StampedTemplate",
            "desc": "Cloned template content"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_addMethodEventListenerToNode",
          "description": "Adds an event listener by method name for the event provided.\n\nThis method generates a handler function that looks up the method\nname at handling time.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 527,
              "column": 4
            },
            "end": {
              "line": 532,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!EventTarget",
              "description": "Node to add listener on"
            },
            {
              "name": "eventName",
              "type": "string",
              "description": "Name of event"
            },
            {
              "name": "methodName",
              "type": "string",
              "description": "Name of method"
            },
            {
              "name": "context",
              "type": "*=",
              "description": "Context the method will be called on (defaults\n  to `node`)"
            }
          ],
          "return": {
            "type": "Function",
            "desc": "Generated handler function"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_addEventListenerToNode",
          "description": "Override point for adding custom or simulated event handling.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 543,
              "column": 4
            },
            "end": {
              "line": 545,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!EventTarget",
              "description": "Node to add event listener to"
            },
            {
              "name": "eventName",
              "type": "string",
              "description": "Name of event"
            },
            {
              "name": "handler",
              "type": "function (!Event): void",
              "description": "Listener function to add"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_removeEventListenerFromNode",
          "description": "Override point for adding custom or simulated event handling.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 556,
              "column": 4
            },
            "end": {
              "line": 558,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!EventTarget",
              "description": "Node to remove event listener from"
            },
            {
              "name": "eventName",
              "type": "string",
              "description": "Name of event"
            },
            {
              "name": "handler",
              "type": "function (!Event): void",
              "description": "Listener function to remove"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_createPropertyAccessor",
          "description": "Creates a setter/getter pair for the named property with its own\nlocal storage.  The getter returns the value in the local storage,\nand the setter calls `_setProperty`, which updates the local storage\nfor the property and enqueues a `_propertiesChanged` callback.\n\nThis method may be called on a prototype or an instance.  Calling\nthis method may overwrite a property value that already exists on\nthe prototype/instance by creating the accessor.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 113,
              "column": 4
            },
            "end": {
              "line": 122,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "readOnly",
              "type": "boolean=",
              "description": "When true, no setter is created; the\n  protected `_setProperty` function must be used to set the property"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_addPropertyToAttributeMap",
          "description": "Adds the given `property` to a map matching attribute names\nto property names, using `attributeNameForProperty`. This map is\nused when deserializing attribute values to properties.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 132,
              "column": 4
            },
            "end": {
              "line": 140,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_definePropertyAccessor",
          "description": "Defines a property accessor for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 149,
              "column": 5
            },
            "end": {
              "line": 162,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "readOnly",
              "type": "boolean=",
              "description": "When true, no setter is created"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "ready",
          "description": "Stamps the element template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 644,
              "column": 4
            },
            "end": {
              "line": 650,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_initializeProperties",
          "description": "Overrides the default `PropertyAccessors` to ensure class\nmetaprogramming related to property accessors and effects has\ncompleted (calls `finalize`).\n\nIt also initializes any property defaults provided via `value` in\n`properties` metadata.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 548,
              "column": 4
            },
            "end": {
              "line": 580,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_initializeInstanceProperties",
          "description": "Called at ready time with bag of instance properties that overwrote\naccessors when the element upgraded.\n\nThe default implementation sets these properties back into the\nsetter at ready time.  This method is provided as an override\npoint for customizing or providing more efficient initialization.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 235,
              "column": 4
            },
            "end": {
              "line": 237,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of property values that were overwritten\n  when creating property accessors."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_setProperty",
          "description": "Updates the local storage for a property (via `_setPendingProperty`)\nand enqueues a `_proeprtiesChanged` callback.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 249,
              "column": 4
            },
            "end": {
              "line": 253,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_getProperty",
          "description": "Returns the value for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 262,
              "column": 4
            },
            "end": {
              "line": 264,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of property"
            }
          ],
          "return": {
            "type": "*",
            "desc": "Value for the given property"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_setPendingProperty",
          "description": "Updates the local storage for a property, records the previous value,\nand adds it to the set of \"pending changes\" that will be passed to the\n`_propertiesChanged` callback.  This method does not enqueue the\n`_propertiesChanged` callback.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 280,
              "column": 4
            },
            "end": {
              "line": 296,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set"
            },
            {
              "name": "ext",
              "type": "boolean=",
              "description": "Not used here; affordance for closure"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property changed"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_invalidateProperties",
          "description": "Marks the properties as invalid, and enqueues an async\n`_propertiesChanged` callback.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 307,
              "column": 4
            },
            "end": {
              "line": 317,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_enableProperties",
          "description": "Call to enable property accessor processing. Before this method is\ncalled accessor values will be set but side effects are\nqueued. When called, any pending side effects occur immediately.\nFor elements, generally `connectedCallback` is a normal spot to do so.\nIt is safe to call this method multiple times as it only turns on\nproperty accessors once.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 331,
              "column": 4
            },
            "end": {
              "line": 340,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_flushProperties",
          "description": "Calls the `_propertiesChanged` callback with the current set of\npending changes (and old values recorded when pending changes were\nset), and resets the pending set of changes. Generally, this method\nshould not be called in user code.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 352,
              "column": 4
            },
            "end": {
              "line": 361,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_shouldPropertiesChange",
          "description": "Called in `_flushProperties` to determine if `_propertiesChanged`\nshould be called. The default implementation returns true if\nproperties are pending. Override to customize when\n`_propertiesChanged` is called.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 376,
              "column": 4
            },
            "end": {
              "line": 378,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "currentProps",
              "type": "!Object",
              "description": "Bag of all current accessor values"
            },
            {
              "name": "changedProps",
              "type": "?Object",
              "description": "Bag of properties changed since the last\n  call to `_propertiesChanged`"
            },
            {
              "name": "oldProps",
              "type": "?Object",
              "description": "Bag of previous values for each property\n  in `changedProps`"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "true if changedProps is truthy"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_propertiesChanged",
          "description": "Callback called when any properties with accessors created via\n`_createPropertyAccessor` have been set.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 393,
              "column": 4
            },
            "end": {
              "line": 394,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "currentProps",
              "type": "!Object",
              "description": "Bag of all current accessor values"
            },
            {
              "name": "changedProps",
              "type": "?Object",
              "description": "Bag of properties changed since the last\n  call to `_propertiesChanged`"
            },
            {
              "name": "oldProps",
              "type": "?Object",
              "description": "Bag of previous values for each property\n  in `changedProps`"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_shouldPropertyChange",
          "description": "Method called to determine whether a property value should be\nconsidered as a change and cause the `_propertiesChanged` callback\nto be enqueued.\n\nThe default implementation returns `true` if a strict equality\ncheck fails. The method always returns false for `NaN`.\n\nOverride this method to e.g. provide stricter checking for\nObjects/Arrays when using immutable patterns.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 415,
              "column": 4
            },
            "end": {
              "line": 422,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "value",
              "type": "*",
              "description": "New property value"
            },
            {
              "name": "old",
              "type": "*",
              "description": "Previous property value"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Whether the property should be considered a change\n  and enqueue a `_proeprtiesChanged` callback"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "attributeChangedCallback",
          "description": "Implements native Custom Elements `attributeChangedCallback` to\nset an attribute value to a property via `_attributeToProperty`.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 436,
              "column": 4
            },
            "end": {
              "line": 443,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "name",
              "type": "string",
              "description": "Name of attribute that changed"
            },
            {
              "name": "old",
              "type": "?string",
              "description": "Old attribute value"
            },
            {
              "name": "value",
              "type": "?string",
              "description": "New attribute value"
            },
            {
              "name": "namespace",
              "type": "?string",
              "description": "Attribute namespace."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_attributeToProperty",
          "description": "Deserializes an attribute to its associated property.\n\nThis method calls the `_deserializeValue` method to convert the string to\na typed value.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 458,
              "column": 4
            },
            "end": {
              "line": 465,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "attribute",
              "type": "string",
              "description": "Name of attribute to deserialize."
            },
            {
              "name": "value",
              "type": "?string",
              "description": "of the attribute."
            },
            {
              "name": "type",
              "type": "*=",
              "description": "type to deserialize to, defaults to the value\nreturned from `typeForProperty`"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_propertyToAttribute",
          "description": "Serializes a property to its associated attribute.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 478,
              "column": 4
            },
            "end": {
              "line": 484,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name to reflect."
            },
            {
              "name": "attribute",
              "type": "string=",
              "description": "Attribute name to reflect to."
            },
            {
              "name": "value",
              "type": "*=",
              "description": "Property value to refect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_valueToNodeAttribute",
          "description": "Sets a typed value to an HTML attribute on a node.\n\nThis method calls the `_serializeValue` method to convert the typed\nvalue to a string.  If the `_serializeValue` method returns `undefined`,\nthe attribute will be removed (this is the default for boolean\ntype `false`).",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 500,
              "column": 4
            },
            "end": {
              "line": 510,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Element",
              "description": "Element to set attribute to."
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to serialize."
            },
            {
              "name": "attribute",
              "type": "string",
              "description": "Attribute name to serialize to."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_serializeValue",
          "description": "Converts a typed JavaScript value to a string.\n\nThis method is called when setting JS property values to\nHTML attributes.  Users may override this method to provide\nserialization for custom types.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 524,
              "column": 4
            },
            "end": {
              "line": 531,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value",
              "type": "*",
              "description": "Property value to serialize."
            }
          ],
          "return": {
            "type": "(string | undefined)",
            "desc": "String serialized from the provided\nproperty  value."
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_deserializeValue",
          "description": "Converts a string to a typed JavaScript value.\n\nThis method is called when reading HTML attribute values to\nJS properties.  Users may override this method to provide\ndeserialization for custom `type`s. Types for `Boolean`, `String`,\nand `Number` convert attributes to the expected types.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 546,
              "column": 4
            },
            "end": {
              "line": 555,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value",
              "type": "?string",
              "description": "Value to deserialize."
            },
            {
              "name": "type",
              "type": "*=",
              "description": "Type to deserialize the string to."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Typed value deserialized from the provided string."
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_initializeProtoProperties",
          "description": "Overrides `PropertyAccessors` implementation to provide a\nmore efficient implementation of initializing properties from\nthe prototype on the instance.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1190,
              "column": 4
            },
            "end": {
              "line": 1194,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "Object",
              "description": "Properties to initialize on the prototype"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_ensureAttribute",
          "description": "Ensures the element has the given attribute. If it does not,\nassigns the given value to the attribute.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 195,
              "column": 4
            },
            "end": {
              "line": 200,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "attribute",
              "type": "string",
              "description": "Name of attribute to ensure is set."
            },
            {
              "name": "value",
              "type": "string",
              "description": "of the attribute."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "_hasAccessor",
          "description": "Returns true if this library created an accessor for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 307,
              "column": 4
            },
            "end": {
              "line": 309,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if an accessor was created"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "_isPropertyPending",
          "description": "Returns true if the specified property has a pending change.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 319,
              "column": 4
            },
            "end": {
              "line": 321,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "prop",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if property has a pending change"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "_addPropertyEffect",
          "description": "Equivalent to static `addPropertyEffect` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1229,
              "column": 4
            },
            "end": {
              "line": 1237,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property that should trigger the effect"
            },
            {
              "name": "type",
              "type": "string",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_removePropertyEffect",
          "description": "Removes the given property effect.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1248,
              "column": 4
            },
            "end": {
              "line": 1254,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property the effect was associated with"
            },
            {
              "name": "type",
              "type": "string",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object to remove"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasPropertyEffect",
          "description": "Returns whether the current prototype/instance has a property effect\nof a certain type.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1267,
              "column": 4
            },
            "end": {
              "line": 1270,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "type",
              "type": "string=",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasReadOnlyEffect",
          "description": "Returns whether the current prototype/instance has a \"read only\"\naccessor for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1282,
              "column": 4
            },
            "end": {
              "line": 1284,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasNotifyEffect",
          "description": "Returns whether the current prototype/instance has a \"notify\"\nproperty effect for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1296,
              "column": 4
            },
            "end": {
              "line": 1298,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasReflectEffect",
          "description": "Returns whether the current prototype/instance has a \"reflect to\nattribute\" property effect for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1310,
              "column": 4
            },
            "end": {
              "line": 1312,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasComputedEffect",
          "description": "Returns whether the current prototype/instance has a \"computed\"\nproperty effect for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1324,
              "column": 4
            },
            "end": {
              "line": 1326,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_setPendingPropertyOrPath",
          "description": "Sets a pending property or path.  If the root property of the path in\nquestion had no accessor, the path is set, otherwise it is enqueued\nvia `_setPendingProperty`.\n\nThis function isolates relatively expensive functionality necessary\nfor the public API (`set`, `setProperties`, `notifyPath`, and property\nchange listeners via {{...}} bindings), such that it is only done\nwhen paths enter the system, and not at every propagation step.  It\nalso sets a `__dataHasPaths` flag on the instance which is used to\nfast-path slower path-matching code in the property effects host paths.\n\n`path` can be a path string or array of path parts as accepted by the\npublic API.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1359,
              "column": 4
            },
            "end": {
              "line": 1391,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(number | string)>)",
              "description": "Path to set"
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set"
            },
            {
              "name": "shouldNotify",
              "type": "boolean=",
              "description": "Set to true if this change should\n cause a property notification event dispatch"
            },
            {
              "name": "isPathNotification",
              "type": "boolean=",
              "description": "If the path being set is a path\n  notification of an already changed value, as opposed to a request\n  to set and notify the change.  In the latter `false` case, a dirty\n  check is performed and then the value is set to the path before\n  enqueuing the pending property change."
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property/path was enqueued in\n  the pending changes bag."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_setUnmanagedPropertyToNode",
          "description": "Applies a value to a non-Polymer element/node's property.\n\nThe implementation makes a best-effort at binding interop:\nSome native element properties have side-effects when\nre-setting the same value (e.g. setting `<input>.value` resets the\ncursor position), so we do a dirty-check before setting the value.\nHowever, for better interop with non-Polymer custom elements that\naccept objects, we explicitly re-set object changes coming from the\nPolymer world (which may include deep object changes without the\ntop reference changing), erring on the side of providing more\ninformation.\n\nUsers may override this method to provide alternate approaches.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1415,
              "column": 4
            },
            "end": {
              "line": 1427,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!Node",
              "description": "The node to set a property on"
            },
            {
              "name": "prop",
              "type": "string",
              "description": "The property to set"
            },
            {
              "name": "value",
              "type": "*",
              "description": "The value to set"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_enqueueClient",
          "description": "Enqueues the given client on a list of pending clients, whose\npending property changes can later be flushed via a call to\n`_flushClients`.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1535,
              "column": 4
            },
            "end": {
              "line": 1540,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "client",
              "type": "Object",
              "description": "PropertyEffects client to enqueue"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_flushClients",
          "description": "Flushes any clients previously enqueued via `_enqueueClient`, causing\ntheir `_flushProperties` method to run.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1563,
              "column": 4
            },
            "end": {
              "line": 1574,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__enableOrFlushClients",
          "description": "(c) the stamped dom enables.",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1588,
              "column": 4
            },
            "end": {
              "line": 1601,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_readyClients",
          "description": "Implements `PropertyEffects`'s `_readyClients` call. Attaches\nelement dom by calling `_attachDom` with the dom stamped from the\nelement's template via `_stampTemplate`. Note that this allows\nclient dom to be attached to the element prior to any observers\nrunning.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 662,
              "column": 4
            },
            "end": {
              "line": 671,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "setProperties",
          "description": "Sets a bag of property changes to this instance, and\nsynchronously processes all effects of the properties as a batch.\n\nProperty names must be simple properties, not paths.  Batched\npath propagation is not supported.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1632,
              "column": 4
            },
            "end": {
              "line": 1643,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of one or more key-value pairs whose key is\n  a property and value is the new value to set for that property."
            },
            {
              "name": "setReadOnly",
              "type": "boolean=",
              "description": "When true, any private values set in\n  `props` will be set. By default, `setProperties` will not set\n  `readOnly: true` root properties."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_propagatePropertyChanges",
          "description": "Called to propagate any property changes to stamped template nodes\nmanaged by this element.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1732,
              "column": 4
            },
            "end": {
              "line": 1742,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "changedProps",
              "type": "Object",
              "description": "Bag of changed properties"
            },
            {
              "name": "oldProps",
              "type": "Object",
              "description": "Bag of previous values for changed properties"
            },
            {
              "name": "hasPaths",
              "type": "boolean",
              "description": "True with `props` contains one or more paths"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "linkPaths",
          "description": "Aliases one data path as another, such that path notifications from one\nare routed to the other.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1754,
              "column": 4
            },
            "end": {
              "line": 1759,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "to",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Target path to link."
            },
            {
              "name": "from",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Source path to link."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "unlinkPaths",
          "description": "Removes a data path alias previously established with `_linkPaths`.\n\nNote, the path to unlink should be the target (`to`) used when\nlinking the paths.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1772,
              "column": 4
            },
            "end": {
              "line": 1777,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Target path to unlink."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "notifySplices",
          "description": "Notify that an array has changed.\n\nExample:\n\n    this.items = [ {name: 'Jim'}, {name: 'Todd'}, {name: 'Bill'} ];\n    ...\n    this.items.splice(1, 1, {name: 'Sam'});\n    this.items.push({name: 'Bob'});\n    this.notifySplices('items', [\n      { index: 1, removed: [{name: 'Todd'}], addedCount: 1,\n        object: this.items, type: 'splice' },\n      { index: 3, removed: [], addedCount: 1,\n        object: this.items, type: 'splice'}\n    ]);",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1813,
              "column": 4
            },
            "end": {
              "line": 1817,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "string",
              "description": "Path that should be notified."
            },
            {
              "name": "splices",
              "type": "Array",
              "description": "Array of splice records indicating ordered\n  changes that occurred to the array. Each record should have the\n  following fields:\n   * index: index at which the change occurred\n   * removed: array of items that were removed from this index\n   * addedCount: number of new items added at this index\n   * object: a reference to the array in question\n   * type: the string literal 'splice'\n\n  Note that splice records _must_ be normalized such that they are\n  reported in index order (raw results from `Object.observe` are not\n  ordered and must be normalized/merged before notifying)."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "get",
          "description": "Convenience method for reading a value from a path.\n\nNote, if any part in the path is undefined, this method returns\n`undefined` (this method does not throw when dereferencing undefined\npaths).",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1839,
              "column": 4
            },
            "end": {
              "line": 1841,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to the value\n  to read.  The path may be specified as a string (e.g. `foo.bar.baz`)\n  or an array of path parts (e.g. `['foo.bar', 'baz']`).  Note that\n  bracketed expressions are not supported; string-based path parts\n  *must* be separated by dots.  Note that when dereferencing array\n  indices, the index may be used as a dotted part directly\n  (e.g. `users.12.name` or `['users', 12, 'name']`)."
            },
            {
              "name": "root",
              "type": "Object=",
              "description": "Root object from which the path is evaluated."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Value at the path, or `undefined` if any part of the path\n  is undefined."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "set",
          "description": "Convenience method for setting a value to a path and notifying any\nelements bound to the same path.\n\nNote, if any part in the path except for the last is undefined,\nthis method does nothing (this method does not throw when\ndereferencing undefined paths).",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1865,
              "column": 4
            },
            "end": {
              "line": 1875,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to the value\n  to write.  The path may be specified as a string (e.g. `'foo.bar.baz'`)\n  or an array of path parts (e.g. `['foo.bar', 'baz']`).  Note that\n  bracketed expressions are not supported; string-based path parts\n  *must* be separated by dots.  Note that when dereferencing array\n  indices, the index may be used as a dotted part directly\n  (e.g. `'users.12.name'` or `['users', 12, 'name']`)."
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set at the specified path."
            },
            {
              "name": "root",
              "type": "Object=",
              "description": "Root object from which the path is evaluated.\n  When specified, no notification will occur."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "push",
          "description": "Adds items onto the end of the array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.push`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1892,
              "column": 4
            },
            "end": {
              "line": 1901,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            },
            {
              "name": "items",
              "type": "...*",
              "rest": true,
              "description": "Items to push onto array"
            }
          ],
          "return": {
            "type": "number",
            "desc": "New length of the array."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "pop",
          "description": "Removes an item from the end of array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.pop`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1917,
              "column": 4
            },
            "end": {
              "line": 1926,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Item that was removed."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "splice",
          "description": "Starting from the start index specified, removes 0 or more items\nfrom the array and inserts 0 or more new items in their place.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.splice`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1946,
              "column": 4
            },
            "end": {
              "line": 1983,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            },
            {
              "name": "start",
              "type": "number",
              "description": "Index from which to start removing/inserting."
            },
            {
              "name": "deleteCount",
              "type": "number=",
              "description": "Number of items to remove."
            },
            {
              "name": "items",
              "type": "...*",
              "rest": true,
              "description": "Items to insert into array."
            }
          ],
          "return": {
            "type": "Array",
            "desc": "Array of removed items."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "shift",
          "description": "Removes an item from the beginning of array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.pop`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1999,
              "column": 4
            },
            "end": {
              "line": 2008,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Item that was removed."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "unshift",
          "description": "Adds items onto the beginning of the array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.push`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2025,
              "column": 4
            },
            "end": {
              "line": 2033,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            },
            {
              "name": "items",
              "type": "...*",
              "rest": true,
              "description": "Items to insert info array"
            }
          ],
          "return": {
            "type": "number",
            "desc": "New length of the array."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "notifyPath",
          "description": "Notify that a path has changed.\n\nExample:\n\n    this.item.user.name = 'Bob';\n    this.notifyPath('item.user.name');",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2049,
              "column": 4
            },
            "end": {
              "line": 2066,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "string",
              "description": "Path that should be notified."
            },
            {
              "name": "value",
              "type": "*=",
              "description": "Value at the path (optional)."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createReadOnlyProperty",
          "description": "Equivalent to static `createReadOnlyProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2080,
              "column": 4
            },
            "end": {
              "line": 2087,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "protectedSetter",
              "type": "boolean=",
              "description": "Creates a custom protected setter\n  when `true`."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createPropertyObserver",
          "description": "Equivalent to static `createPropertyObserver` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2103,
              "column": 4
            },
            "end": {
              "line": 2113,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "method",
              "type": "(string | function (*, *))",
              "description": "Function or name of observer method\n    to call"
            },
            {
              "name": "dynamicFn",
              "type": "boolean=",
              "description": "Whether the method name should be included as\n  a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createMethodObserver",
          "description": "Equivalent to static `createMethodObserver` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2127,
              "column": 4
            },
            "end": {
              "line": 2133,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating\n  whether method names should be included as a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createNotifyingProperty",
          "description": "Equivalent to static `createNotifyingProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2145,
              "column": 4
            },
            "end": {
              "line": 2153,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createReflectedProperty",
          "description": "Equivalent to static `createReflectedProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2166,
              "column": 4
            },
            "end": {
              "line": 2179,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createComputedProperty",
          "description": "Equivalent to static `createComputedProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2194,
              "column": 4
            },
            "end": {
              "line": 2200,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of computed property to set"
            },
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating\n  whether method names should be included as a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_marshalArgs",
          "description": "Gather the argument values for a method specified in the provided array\nof argument metadata.\n\nThe `path` and `value` arguments are used to fill in wildcard descriptor\nwhen the method is being called as a result of a path notification.",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2215,
              "column": 4
            },
            "end": {
              "line": 2236,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "args",
              "type": "!Array.<!MethodArg>",
              "description": "Array of argument metadata"
            },
            {
              "name": "path",
              "type": "string",
              "description": "Property/path name that triggered the method effect"
            },
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of current property changes"
            }
          ],
          "return": {
            "type": "Array.<*>",
            "desc": "Array of argument values"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_bindTemplate",
          "description": "Equivalent to static `bindTemplate` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.\n\nThis method may be called on the prototype (for prototypical template\nbinding, to avoid creating accessors every instance) once per prototype,\nand will be called with `runtimeBinding: true` by `_stampTemplate` to\ncreate and link an instance of the template metadata associated with a\nparticular stamping.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2423,
              "column": 4
            },
            "end": {
              "line": 2446,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template containing binding\n  bindings"
            },
            {
              "name": "instanceBinding",
              "type": "boolean=",
              "description": "When false (default), performs\n  \"prototypical\" binding of the template and overwrites any previously\n  bound template for the class. When true (as passed from\n  `_stampTemplate`), the template info is instanced and linked into\n  the list of bound templates."
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Template metadata object; for `runtimeBinding`,\n  this is an instance of the prototypical template info"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_removeBoundDom",
          "description": "Removes and unbinds the nodes previously contained in the provided\nDocumentFragment returned from `_stampTemplate`.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2527,
              "column": 4
            },
            "end": {
              "line": 2548,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "dom",
              "type": "!StampedTemplate",
              "description": "DocumentFragment previously returned\n  from `_stampTemplate` associated with the nodes to be removed"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "connectedCallback",
          "description": "Provides a default implementation of the standard Custom Elements\n`connectedCallback`.\n\nThe default implementation enables the property effects system and\nflushes any pending properties, and updates shimmed CSS properties\nwhen using the ShadyCSS scoping/custom properties polyfill.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 631,
              "column": 4
            },
            "end": {
              "line": 636,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "disconnectedCallback",
          "description": "Called when the element is removed from a document",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-mixin.js",
            "start": {
              "line": 230,
              "column": 3
            },
            "end": {
              "line": 234,
              "column": 4
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesMixin"
        },
        {
          "name": "_attachDom",
          "description": "Attaches an element's stamped dom to itself. By default,\nthis method creates a `shadowRoot` and adds the dom to it.\nHowever, this method may be overridden to allow an element\nto put its dom in another location.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 686,
              "column": 4
            },
            "end": {
              "line": 706,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "dom",
              "type": "StampedTemplate",
              "description": "to attach to the element."
            }
          ],
          "return": {
            "type": "ShadowRoot",
            "desc": "node to which the dom has been attached."
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "updateStyles",
          "description": "When using the ShadyCSS scoping and custom property shim, causes all\nshimmed styles in this element (and its subtree) to be updated\nbased on current custom property values.\n\nThe optional parameter overrides inline custom property styles with an\nobject of properties where the keys are CSS properties, and the values\nare strings.\n\nExample: `this.updateStyles({'--color': 'blue'})`\n\nThese properties are retained unless a value of `null` is set.\n\nNote: This function does not support updating CSS mixins.\nYou can not dynamically change the value of an `@apply`.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 730,
              "column": 4
            },
            "end": {
              "line": 734,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "properties",
              "type": "Object=",
              "description": "Bag of custom property key/values to\n  apply to this element."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "resolveUrl",
          "description": "Rewrites a given URL relative to a base URL. The base URL defaults to\nthe original location of the document containing the `dom-module` for\nthis element. This method will return the same URL before and after\nbundling.\n\nNote that this function performs no resolution for URLs that start\nwith `/` (absolute URLs) or `#` (hash identifiers).  For general purpose\nURL resolution, use `window.URL`.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 752,
              "column": 4
            },
            "end": {
              "line": 757,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "url",
              "type": "string",
              "description": "URL to resolve."
            },
            {
              "name": "base",
              "type": "string=",
              "description": "Optional base URL to resolve against, defaults\nto the element's `importPath`"
            }
          ],
          "return": {
            "type": "string",
            "desc": "Rewritten URL relative to base"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "toggleSelection",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 58,
              "column": 2
            },
            "end": {
              "line": 61,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [
        {
          "name": "_parseTemplate",
          "description": "Scans a template to produce template metadata.\n\nTemplate-specific metadata are stored in the object returned, and node-\nspecific metadata are stored in objects in its flattened `nodeInfoList`\narray.  Only nodes in the template that were parsed as nodes of\ninterest contain an object in `nodeInfoList`.  Each `nodeInfo` object\ncontains an `index` (`childNodes` index in parent) and optionally\n`parent`, which points to node info of its parent (including its index).\n\nThe template metadata object returned from this method has the following\nstructure (many fields optional):\n\n```js\n  {\n    // Flattened list of node metadata (for nodes that generated metadata)\n    nodeInfoList: [\n      {\n        // `id` attribute for any nodes with id's for generating `$` map\n        id: {string},\n        // `on-event=\"handler\"` metadata\n        events: [\n          {\n            name: {string},   // event name\n            value: {string},  // handler method name\n          }, ...\n        ],\n        // Notes when the template contained a `<slot>` for shady DOM\n        // optimization purposes\n        hasInsertionPoint: {boolean},\n        // For nested `<template>`` nodes, nested template metadata\n        templateInfo: {object}, // nested template metadata\n        // Metadata to allow efficient retrieval of instanced node\n        // corresponding to this metadata\n        parentInfo: {number},   // reference to parent nodeInfo>\n        parentIndex: {number},  // index in parent's `childNodes` collection\n        infoIndex: {number},    // index of this `nodeInfo` in `templateInfo.nodeInfoList`\n      },\n      ...\n    ],\n    // When true, the template had the `strip-whitespace` attribute\n    // or was nested in a template with that setting\n    stripWhitespace: {boolean},\n    // For nested templates, nested template content is moved into\n    // a document fragment stored here; this is an optimization to\n    // avoid the cost of nested template cloning\n    content: {DocumentFragment}\n  }\n```\n\nThis method kicks off a recursive treewalk as follows:\n\n```\n   _parseTemplate <---------------------+\n     _parseTemplateContent              |\n       _parseTemplateNode  <------------|--+\n         _parseTemplateNestedTemplate --+  |\n         _parseTemplateChildNodes ---------+\n         _parseTemplateNodeAttributes\n           _parseTemplateNodeAttribute\n\n```\n\nThese methods may be overridden to add custom metadata about templates\nto either `templateInfo` or `nodeInfo`.\n\nNote that this method may be destructive to the template, in that\ne.g. event annotations may be removed after being noted in the\ntemplate metadata.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 248,
              "column": 4
            },
            "end": {
              "line": 262,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template to parse"
            },
            {
              "name": "outerTemplateInfo",
              "type": "TemplateInfo=",
              "description": "Template metadata from the outer\n  template, for parsing nested templates"
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Parsed template metadata"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_parseTemplateContent",
          "description": "Overrides `PropertyEffects` to add map of dynamic functions on\ntemplate info, for consumption by `PropertyEffects` template binding\ncode. This map determines which method templates should have accessors\ncreated for them.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 772,
              "column": 4
            },
            "end": {
              "line": 778,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template"
            },
            {
              "name": "templateInfo",
              "type": "!TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "!NodeInfo",
              "description": "Node metadata for current template."
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "."
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_parseTemplateNode",
          "description": "Overrides default `TemplateStamp` implementation to add support for\nparsing bindings from `TextNode`'s' `textContent`.  A `bindings`\narray is added to `nodeInfo` and populated with binding metadata\nwith information capturing the binding target, and a `parts` array\nwith one or more metadata objects capturing the source(s) of the\nbinding.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2567,
              "column": 4
            },
            "end": {
              "line": 2584,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Node",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "NodeInfo",
              "description": "Node metadata for current template node"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_parseTemplateChildNodes",
          "description": "Parses template child nodes for the given root node.\n\nThis method also wraps whitelisted legacy template extensions\n(`is=\"dom-if\"` and `is=\"dom-repeat\"`) with their equivalent element\nwrappers, collapses text nodes, and strips whitespace from the template\nif the `templateInfo.stripWhitespace` setting was provided.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 323,
              "column": 4
            },
            "end": {
              "line": 361,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "root",
              "type": "Node",
              "description": "Root node whose `childNodes` will be parsed"
            },
            {
              "name": "templateInfo",
              "type": "!TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "!NodeInfo",
              "description": "Node metadata for current template."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_parseTemplateNestedTemplate",
          "description": "Overrides default `TemplateStamp` implementation to add support for\nbinding the properties that a nested template depends on to the template\nas `_host_<property>`.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2670,
              "column": 4
            },
            "end": {
              "line": 2683,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Node",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "NodeInfo",
              "description": "Node metadata for current template node"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_parseTemplateNodeAttributes",
          "description": "Parses template node attributes and adds node metadata to `nodeInfo`\nfor nodes of interest.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 404,
              "column": 4
            },
            "end": {
              "line": 413,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Element",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "!TemplateInfo",
              "description": "Template metadata for current\n    template"
            },
            {
              "name": "nodeInfo",
              "type": "!NodeInfo",
              "description": "Node metadata for current template."
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_parseTemplateNodeAttribute",
          "description": "Overrides default `TemplateStamp` implementation to add support for\nparsing bindings from attributes.  A `bindings`\narray is added to `nodeInfo` and populated with binding metadata\nwith information capturing the binding target, and a `parts` array\nwith one or more metadata objects capturing the source(s) of the\nbinding.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2605,
              "column": 4
            },
            "end": {
              "line": 2654,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Element",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "NodeInfo",
              "description": "Node metadata for current template node"
            },
            {
              "name": "name",
              "type": "string",
              "description": "Attribute name"
            },
            {
              "name": "value",
              "type": "string",
              "description": "Attribute value"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_contentForTemplate",
          "description": "Returns the `content` document fragment for a given template.\n\nFor nested templates, Polymer performs an optimization to cache nested\ntemplate content to avoid the cost of cloning deeply nested templates.\nThis method retrieves the cached content for a given template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 461,
              "column": 4
            },
            "end": {
              "line": 464,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "HTMLTemplateElement",
              "description": "Template to retrieve `content` for"
            }
          ],
          "return": {
            "type": "DocumentFragment",
            "desc": "Content fragment"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "createProperties",
          "description": "Override of PropertiesChanged createProperties to create accessors\nand property effects for all of the properties.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 384,
              "column": 4
            },
            "end": {
              "line": 389,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "!Object",
              "description": "."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "attributeNameForProperty",
          "description": "Returns an attribute name that corresponds to the given property.\nThe attribute name is the lowercased property name. Override to\ncustomize this mapping.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 82,
              "column": 4
            },
            "end": {
              "line": 84,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property to convert"
            }
          ],
          "return": {
            "type": "string",
            "desc": "Attribute name corresponding to the given property."
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "typeForProperty",
          "description": "Overrides `PropertiesChanged` method to return type specified in the\nstatic `properties` object for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-mixin.js",
            "start": {
              "line": 192,
              "column": 3
            },
            "end": {
              "line": 195,
              "column": 4
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "name",
              "type": "string",
              "description": "Name of property"
            }
          ],
          "return": {
            "type": "*",
            "desc": "Type to which to deserialize attribute"
          },
          "inheritedFrom": "PropertiesMixin"
        },
        {
          "name": "createPropertiesForAttributes",
          "description": "Generates property accessors for all attributes in the standard\nstatic `observedAttributes` array.\n\nAttribute names are mapped to property names using the `dash-case` to\n`camelCase` convention",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 126,
              "column": 4
            },
            "end": {
              "line": 131,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "addPropertyEffect",
          "description": "Ensures an accessor exists for the specified property, and adds\nto a list of \"property effects\" that will run when the accessor for\nthe specified property is set.  Effects are grouped by \"type\", which\nroughly corresponds to a phase in effect processing.  The effect\nmetadata should be in the following form:\n\n    {\n      fn: effectFunction, // Reference to function to call to perform effect\n      info: { ... }       // Effect metadata passed to function\n      trigger: {          // Optional triggering metadata; if not provided\n        name: string      // the property is treated as a wildcard\n        structured: boolean\n        wildcard: boolean\n      }\n    }\n\nEffects are called from `_propertiesChanged` in the following order by\ntype:\n\n1. COMPUTE\n2. PROPAGATE\n3. REFLECT\n4. OBSERVE\n5. NOTIFY\n\nEffect functions are called with the following signature:\n\n    effectFunction(inst, path, props, oldProps, info, hasPaths)",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2277,
              "column": 4
            },
            "end": {
              "line": 2279,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property that should trigger the effect"
            },
            {
              "name": "type",
              "type": "string",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createPropertyObserver",
          "description": "Creates a single-property observer for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2292,
              "column": 4
            },
            "end": {
              "line": 2294,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "method",
              "type": "(string | function (*, *))",
              "description": "Function or name of observer method to call"
            },
            {
              "name": "dynamicFn",
              "type": "boolean=",
              "description": "Whether the method name should be included as\n  a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createMethodObserver",
          "description": "Creates a multi-property \"method observer\" based on the provided\nexpression, which should be a string in the form of a normal JavaScript\nfunction signature: `'methodName(arg1, [..., argn])'`.  Each argument\nshould correspond to a property or path in the context of this\nprototype (or instance), or may be a literal string or number.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2310,
              "column": 4
            },
            "end": {
              "line": 2312,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating"
            }
          ],
          "return": {
            "type": "void",
            "desc": "whether method names should be included as a dependency to the effect."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createNotifyingProperty",
          "description": "Causes the setter for the given property to dispatch `<property>-changed`\nevents to notify of changes to the property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2323,
              "column": 4
            },
            "end": {
              "line": 2325,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createReadOnlyProperty",
          "description": "Creates a read-only accessor for the given property.\n\nTo set the property, use the protected `_setProperty` API.\nTo create a custom protected setter (e.g. `_setMyProp()` for\nproperty `myProp`), pass `true` for `protectedSetter`.\n\nNote, if the property will have other property effects, this method\nshould be called first, before adding other effects.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2344,
              "column": 4
            },
            "end": {
              "line": 2346,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "protectedSetter",
              "type": "boolean=",
              "description": "Creates a custom protected setter\n  when `true`."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createReflectedProperty",
          "description": "Causes the setter for the given property to reflect the property value\nto a (dash-cased) attribute of the same name.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2357,
              "column": 4
            },
            "end": {
              "line": 2359,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createComputedProperty",
          "description": "Creates a computed property whose value is set to the result of the\nmethod described by the given `expression` each time one or more\narguments to the method changes.  The expression should be a string\nin the form of a normal JavaScript function signature:\n`'methodName(arg1, [..., argn])'`",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2376,
              "column": 4
            },
            "end": {
              "line": 2378,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of computed property to set"
            },
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating whether\n  method names should be included as a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "bindTemplate",
          "description": "Parses the provided template to ensure binding effects are created\nfor them, and then ensures property accessors are created for any\ndependent properties in the template.  Binding effects for bound\ntemplates are stored in a linked list on the instance so that\ntemplates can be efficiently stamped and unstamped.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2393,
              "column": 4
            },
            "end": {
              "line": 2395,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template containing binding\n  bindings"
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Template metadata object"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_addTemplatePropertyEffect",
          "description": "Overrides `PropertyEffects` to warn on use of undeclared properties in\ntemplate.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 792,
              "column": 4
            },
            "end": {
              "line": 809,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "templateInfo",
              "type": "Object",
              "description": "Template metadata to add effect to"
            },
            {
              "name": "prop",
              "type": "string",
              "description": "Property that should trigger the effect"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_parseBindings",
          "description": "Called to parse text in a template (either attribute values or\ntextContent) into binding metadata.\n\nAny overrides of this method should return an array of binding part\nmetadata  representing one or more bindings found in the provided text\nand any \"literal\" text in between.  Any non-literal parts will be passed\nto `_evaluateBinding` when any dependencies change.  The only required\nfields of each \"part\" in the returned array are as follows:\n\n- `dependencies` - Array containing trigger metadata for each property\n  that should trigger the binding to update\n- `literal` - String containing text if the part represents a literal;\n  in this case no `dependencies` are needed\n\nAdditional metadata for use by `_evaluateBinding` may be provided in\neach part object as needed.\n\nThe default implementation handles the following types of bindings\n(one or more may be intermixed with literal strings):\n- Property binding: `[[prop]]`\n- Path binding: `[[object.prop]]`\n- Negated property or path bindings: `[[!prop]]` or `[[!object.prop]]`\n- Two-way property or path bindings (supports negation):\n  `{{prop}}`, `{{object.prop}}`, `{{!prop}}` or `{{!object.prop}}`\n- Inline computed method (supports negation):\n  `[[compute(a, 'literal', b)]]`, `[[!compute(a, 'literal', b)]]`\n\nThe default implementation uses a regular expression for best\nperformance. However, the regular expression uses a white-list of\nallowed characters in a data-binding, which causes problems for\ndata-bindings that do use characters not in this white-list.\n\nInstead of updating the white-list with all allowed characters,\nthere is a StrictBindingParser (see lib/mixins/strict-binding-parser)\nthat uses a state machine instead. This state machine is able to handle\nall characters. However, it is slightly less performant, therefore we\nextracted it into a separate optional mixin.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2730,
              "column": 4
            },
            "end": {
              "line": 2795,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "text",
              "type": "string",
              "description": "Text to parse from attribute or textContent"
            },
            {
              "name": "templateInfo",
              "type": "Object",
              "description": "Current template metadata"
            }
          ],
          "return": {
            "type": "Array.<!BindingPart>",
            "desc": "Array of binding part metadata"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_evaluateBinding",
          "description": "Called to evaluate a previously parsed binding part based on a set of\none or more changed dependencies.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2812,
              "column": 4
            },
            "end": {
              "line": 2829,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "inst",
              "type": "!Polymer_PropertyEffects",
              "description": "Element that should be used as\n    scope for binding dependencies"
            },
            {
              "name": "part",
              "type": "BindingPart",
              "description": "Binding part metadata"
            },
            {
              "name": "path",
              "type": "string",
              "description": "Property/path that triggered this effect"
            },
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of current property changes"
            },
            {
              "name": "oldProps",
              "type": "Object",
              "description": "Bag of previous values for changed properties"
            },
            {
              "name": "hasPaths",
              "type": "boolean",
              "description": "True with `props` contains one or more paths"
            }
          ],
          "return": {
            "type": "*",
            "desc": "Value the binding part evaluated to"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "finalize",
          "description": "Finalizes an element definition, including ensuring any super classes\nare also finalized. This includes ensuring property\naccessors exist on the element prototype. This method calls\n`_finalizeClass` to finalize each constructor in the prototype chain.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-mixin.js",
            "start": {
              "line": 137,
              "column": 3
            },
            "end": {
              "line": 146,
              "column": 4
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesMixin"
        },
        {
          "name": "_finalizeClass",
          "description": "Override of PropertiesMixin _finalizeClass to create observers and\nfind the template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 348,
              "column": 4
            },
            "end": {
              "line": 357,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_prepareTemplate",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 360,
              "column": 4
            },
            "end": {
              "line": 374,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "createObservers",
          "description": "Creates observers for the given `observers` array.\nLeverages `PropertyEffects` to create observers.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 403,
              "column": 4
            },
            "end": {
              "line": 408,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "observers",
              "type": "Object",
              "description": "Array of observer descriptors for\n  this class"
            },
            {
              "name": "dynamicFns",
              "type": "Object",
              "description": "Object containing keys for any properties\n  that are functions and should trigger the effect when the function\n  reference is changed"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_processStyleText",
          "description": "Gather style text for a style element in the template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 591,
              "column": 4
            },
            "end": {
              "line": 593,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "cssText",
              "type": "string",
              "description": "Text containing styling to process"
            },
            {
              "name": "baseURI",
              "type": "string",
              "description": "Base URI to rebase CSS paths against"
            }
          ],
          "return": {
            "type": "string",
            "desc": "The processed CSS text"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_finalizeTemplate",
          "description": "Configures an element `proto` to function with a given `template`.\nThe element name `is` and extends `ext` must be specified for ShadyCSS\nstyle scoping.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 605,
              "column": 4
            },
            "end": {
              "line": 616,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "is",
              "type": "string",
              "description": "Tag name (or type extension name) for this element"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        }
      ],
      "demos": [
        {
          "url": "demo/isu-array-selector/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 15,
          "column": 0
        },
        "end": {
          "line": 62,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "PolymerElement",
      "name": "IsuArraySelector",
      "attributes": [
        {
          "name": "employees",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 48,
              "column": 6
            },
            "end": {
              "line": 55,
              "column": 7
            }
          },
          "metadata": {}
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-array-selector"
    },
    {
      "description": "`isu-avatar`\n\nExample:\n```html\n\n```",
      "summary": "",
      "path": "isu-avatar.js",
      "properties": [
        {
          "name": "__dataEnabled",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 167,
              "column": 6
            },
            "end": {
              "line": 167,
              "column": 24
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "defaultValue": "false",
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "__dataClientsReady",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1116,
              "column": 6
            },
            "end": {
              "line": 1116,
              "column": 30
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataPendingClients",
          "type": "Array",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1118,
              "column": 6
            },
            "end": {
              "line": 1118,
              "column": 32
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataToNotify",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1120,
              "column": 6
            },
            "end": {
              "line": 1120,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataLinkedPaths",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1122,
              "column": 6
            },
            "end": {
              "line": 1122,
              "column": 29
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataHasPaths",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1124,
              "column": 6
            },
            "end": {
              "line": 1124,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataCompoundStorage",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1126,
              "column": 6
            },
            "end": {
              "line": 1126,
              "column": 33
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataHost",
          "type": "Polymer_PropertyEffects",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1128,
              "column": 6
            },
            "end": {
              "line": 1128,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataTemp",
          "type": "!Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1130,
              "column": 6
            },
            "end": {
              "line": 1130,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataClientsInitialized",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1132,
              "column": 6
            },
            "end": {
              "line": 1132,
              "column": 36
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__data",
          "type": "!Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1134,
              "column": 6
            },
            "end": {
              "line": 1134,
              "column": 18
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataPending",
          "type": "(!Object | null)",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1136,
              "column": 6
            },
            "end": {
              "line": 1136,
              "column": 25
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataOld",
          "type": "!Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1138,
              "column": 6
            },
            "end": {
              "line": 1138,
              "column": 21
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__computeEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1140,
              "column": 6
            },
            "end": {
              "line": 1140,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__reflectEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1142,
              "column": 6
            },
            "end": {
              "line": 1142,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__notifyEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1144,
              "column": 6
            },
            "end": {
              "line": 1144,
              "column": 27
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__propagateEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1146,
              "column": 6
            },
            "end": {
              "line": 1146,
              "column": 30
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__observeEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1148,
              "column": 6
            },
            "end": {
              "line": 1148,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__readOnly",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1150,
              "column": 6
            },
            "end": {
              "line": 1150,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__templateInfo",
          "type": "!TemplateInfo",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1152,
              "column": 6
            },
            "end": {
              "line": 1152,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "PROPERTY_EFFECT_TYPES",
          "type": "!Object.<string, string>",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1158,
              "column": 4
            },
            "end": {
              "line": 1160,
              "column": 5
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_template",
          "type": "HTMLTemplateElement",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 523,
              "column": 6
            },
            "end": {
              "line": 523,
              "column": 21
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_importPath",
          "type": "string",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 525,
              "column": 6
            },
            "end": {
              "line": 525,
              "column": 23
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "rootPath",
          "type": "string",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 527,
              "column": 6
            },
            "end": {
              "line": 527,
              "column": 20
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "importPath",
          "type": "string",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 529,
              "column": 6
            },
            "end": {
              "line": 529,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "root",
          "type": "(StampedTemplate | HTMLElement | ShadowRoot)",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 531,
              "column": 6
            },
            "end": {
              "line": 531,
              "column": 16
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "$",
          "type": "!Object.<string, !Element>",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 533,
              "column": 6
            },
            "end": {
              "line": 533,
              "column": 13
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "icon",
          "type": "string | null | undefined",
          "description": "icon，参照iron-icon的icon类型",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 81,
              "column": 6
            },
            "end": {
              "line": 84,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "src",
          "type": "string | null | undefined",
          "description": "图片地址",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 88,
              "column": 6
            },
            "end": {
              "line": 91,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "size",
          "type": "?",
          "description": "头像大小，可以是数字字符串或者large、medium、small中的一个",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 95,
              "column": 6
            },
            "end": {
              "line": 98,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"onSizeChange\""
            }
          },
          "defaultValue": "\"large\""
        },
        {
          "name": "shape",
          "type": "string | null | undefined",
          "description": "头像形状，可以是circle或者square",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 102,
              "column": 6
            },
            "end": {
              "line": 106,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"onShapeChange\"",
              "attributeType": "String"
            }
          },
          "defaultValue": "\"circle\""
        },
        {
          "name": "fit",
          "type": "string | null | undefined",
          "description": "图片适应类型，类型参照https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 110,
              "column": 6
            },
            "end": {
              "line": 113,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"cover\""
        },
        {
          "name": "alt",
          "type": "string | null | undefined",
          "description": "图片加载不成功的替代文字",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 117,
              "column": 6
            },
            "end": {
              "line": 119,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_stampTemplate",
          "description": "Stamps the provided template and performs instance-time setup for\nPolymer template features, including data bindings, declarative event\nlisteners, and the `this.$` map of `id`'s to nodes.  A document fragment\nis returned containing the stamped DOM, ready for insertion into the\nDOM.\n\nThis method may be called more than once; however note that due to\n`shadycss` polyfill limitations, only styles from templates prepared\nusing `ShadyCSS.prepareTemplate` will be correctly polyfilled (scoped\nto the shadow root and support CSS custom properties), and note that\n`ShadyCSS.prepareTemplate` may only be called once per element. As such,\nany styles required by in runtime-stamped templates must be included\nin the main element template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2490,
              "column": 4
            },
            "end": {
              "line": 2515,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template to stamp"
            }
          ],
          "return": {
            "type": "!StampedTemplate",
            "desc": "Cloned template content"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_addMethodEventListenerToNode",
          "description": "Adds an event listener by method name for the event provided.\n\nThis method generates a handler function that looks up the method\nname at handling time.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 527,
              "column": 4
            },
            "end": {
              "line": 532,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!EventTarget",
              "description": "Node to add listener on"
            },
            {
              "name": "eventName",
              "type": "string",
              "description": "Name of event"
            },
            {
              "name": "methodName",
              "type": "string",
              "description": "Name of method"
            },
            {
              "name": "context",
              "type": "*=",
              "description": "Context the method will be called on (defaults\n  to `node`)"
            }
          ],
          "return": {
            "type": "Function",
            "desc": "Generated handler function"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_addEventListenerToNode",
          "description": "Override point for adding custom or simulated event handling.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 543,
              "column": 4
            },
            "end": {
              "line": 545,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!EventTarget",
              "description": "Node to add event listener to"
            },
            {
              "name": "eventName",
              "type": "string",
              "description": "Name of event"
            },
            {
              "name": "handler",
              "type": "function (!Event): void",
              "description": "Listener function to add"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_removeEventListenerFromNode",
          "description": "Override point for adding custom or simulated event handling.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 556,
              "column": 4
            },
            "end": {
              "line": 558,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!EventTarget",
              "description": "Node to remove event listener from"
            },
            {
              "name": "eventName",
              "type": "string",
              "description": "Name of event"
            },
            {
              "name": "handler",
              "type": "function (!Event): void",
              "description": "Listener function to remove"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_createPropertyAccessor",
          "description": "Creates a setter/getter pair for the named property with its own\nlocal storage.  The getter returns the value in the local storage,\nand the setter calls `_setProperty`, which updates the local storage\nfor the property and enqueues a `_propertiesChanged` callback.\n\nThis method may be called on a prototype or an instance.  Calling\nthis method may overwrite a property value that already exists on\nthe prototype/instance by creating the accessor.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 113,
              "column": 4
            },
            "end": {
              "line": 122,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "readOnly",
              "type": "boolean=",
              "description": "When true, no setter is created; the\n  protected `_setProperty` function must be used to set the property"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_addPropertyToAttributeMap",
          "description": "Adds the given `property` to a map matching attribute names\nto property names, using `attributeNameForProperty`. This map is\nused when deserializing attribute values to properties.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 132,
              "column": 4
            },
            "end": {
              "line": 140,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_definePropertyAccessor",
          "description": "Defines a property accessor for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 149,
              "column": 5
            },
            "end": {
              "line": 162,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "readOnly",
              "type": "boolean=",
              "description": "When true, no setter is created"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "ready",
          "description": "Stamps the element template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 644,
              "column": 4
            },
            "end": {
              "line": 650,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_initializeProperties",
          "description": "Overrides the default `PropertyAccessors` to ensure class\nmetaprogramming related to property accessors and effects has\ncompleted (calls `finalize`).\n\nIt also initializes any property defaults provided via `value` in\n`properties` metadata.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 548,
              "column": 4
            },
            "end": {
              "line": 580,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_initializeInstanceProperties",
          "description": "Called at ready time with bag of instance properties that overwrote\naccessors when the element upgraded.\n\nThe default implementation sets these properties back into the\nsetter at ready time.  This method is provided as an override\npoint for customizing or providing more efficient initialization.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 235,
              "column": 4
            },
            "end": {
              "line": 237,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of property values that were overwritten\n  when creating property accessors."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_setProperty",
          "description": "Updates the local storage for a property (via `_setPendingProperty`)\nand enqueues a `_proeprtiesChanged` callback.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 249,
              "column": 4
            },
            "end": {
              "line": 253,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_getProperty",
          "description": "Returns the value for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 262,
              "column": 4
            },
            "end": {
              "line": 264,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of property"
            }
          ],
          "return": {
            "type": "*",
            "desc": "Value for the given property"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_setPendingProperty",
          "description": "Updates the local storage for a property, records the previous value,\nand adds it to the set of \"pending changes\" that will be passed to the\n`_propertiesChanged` callback.  This method does not enqueue the\n`_propertiesChanged` callback.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 280,
              "column": 4
            },
            "end": {
              "line": 296,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set"
            },
            {
              "name": "ext",
              "type": "boolean=",
              "description": "Not used here; affordance for closure"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property changed"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_invalidateProperties",
          "description": "Marks the properties as invalid, and enqueues an async\n`_propertiesChanged` callback.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 307,
              "column": 4
            },
            "end": {
              "line": 317,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_enableProperties",
          "description": "Call to enable property accessor processing. Before this method is\ncalled accessor values will be set but side effects are\nqueued. When called, any pending side effects occur immediately.\nFor elements, generally `connectedCallback` is a normal spot to do so.\nIt is safe to call this method multiple times as it only turns on\nproperty accessors once.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 331,
              "column": 4
            },
            "end": {
              "line": 340,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_flushProperties",
          "description": "Calls the `_propertiesChanged` callback with the current set of\npending changes (and old values recorded when pending changes were\nset), and resets the pending set of changes. Generally, this method\nshould not be called in user code.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 352,
              "column": 4
            },
            "end": {
              "line": 361,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_shouldPropertiesChange",
          "description": "Called in `_flushProperties` to determine if `_propertiesChanged`\nshould be called. The default implementation returns true if\nproperties are pending. Override to customize when\n`_propertiesChanged` is called.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 376,
              "column": 4
            },
            "end": {
              "line": 378,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "currentProps",
              "type": "!Object",
              "description": "Bag of all current accessor values"
            },
            {
              "name": "changedProps",
              "type": "?Object",
              "description": "Bag of properties changed since the last\n  call to `_propertiesChanged`"
            },
            {
              "name": "oldProps",
              "type": "?Object",
              "description": "Bag of previous values for each property\n  in `changedProps`"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "true if changedProps is truthy"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_propertiesChanged",
          "description": "Callback called when any properties with accessors created via\n`_createPropertyAccessor` have been set.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 393,
              "column": 4
            },
            "end": {
              "line": 394,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "currentProps",
              "type": "!Object",
              "description": "Bag of all current accessor values"
            },
            {
              "name": "changedProps",
              "type": "?Object",
              "description": "Bag of properties changed since the last\n  call to `_propertiesChanged`"
            },
            {
              "name": "oldProps",
              "type": "?Object",
              "description": "Bag of previous values for each property\n  in `changedProps`"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_shouldPropertyChange",
          "description": "Method called to determine whether a property value should be\nconsidered as a change and cause the `_propertiesChanged` callback\nto be enqueued.\n\nThe default implementation returns `true` if a strict equality\ncheck fails. The method always returns false for `NaN`.\n\nOverride this method to e.g. provide stricter checking for\nObjects/Arrays when using immutable patterns.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 415,
              "column": 4
            },
            "end": {
              "line": 422,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "value",
              "type": "*",
              "description": "New property value"
            },
            {
              "name": "old",
              "type": "*",
              "description": "Previous property value"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Whether the property should be considered a change\n  and enqueue a `_proeprtiesChanged` callback"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "attributeChangedCallback",
          "description": "Implements native Custom Elements `attributeChangedCallback` to\nset an attribute value to a property via `_attributeToProperty`.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 436,
              "column": 4
            },
            "end": {
              "line": 443,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "name",
              "type": "string",
              "description": "Name of attribute that changed"
            },
            {
              "name": "old",
              "type": "?string",
              "description": "Old attribute value"
            },
            {
              "name": "value",
              "type": "?string",
              "description": "New attribute value"
            },
            {
              "name": "namespace",
              "type": "?string",
              "description": "Attribute namespace."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_attributeToProperty",
          "description": "Deserializes an attribute to its associated property.\n\nThis method calls the `_deserializeValue` method to convert the string to\na typed value.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 458,
              "column": 4
            },
            "end": {
              "line": 465,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "attribute",
              "type": "string",
              "description": "Name of attribute to deserialize."
            },
            {
              "name": "value",
              "type": "?string",
              "description": "of the attribute."
            },
            {
              "name": "type",
              "type": "*=",
              "description": "type to deserialize to, defaults to the value\nreturned from `typeForProperty`"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_propertyToAttribute",
          "description": "Serializes a property to its associated attribute.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 478,
              "column": 4
            },
            "end": {
              "line": 484,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name to reflect."
            },
            {
              "name": "attribute",
              "type": "string=",
              "description": "Attribute name to reflect to."
            },
            {
              "name": "value",
              "type": "*=",
              "description": "Property value to refect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_valueToNodeAttribute",
          "description": "Sets a typed value to an HTML attribute on a node.\n\nThis method calls the `_serializeValue` method to convert the typed\nvalue to a string.  If the `_serializeValue` method returns `undefined`,\nthe attribute will be removed (this is the default for boolean\ntype `false`).",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 500,
              "column": 4
            },
            "end": {
              "line": 510,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Element",
              "description": "Element to set attribute to."
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to serialize."
            },
            {
              "name": "attribute",
              "type": "string",
              "description": "Attribute name to serialize to."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_serializeValue",
          "description": "Converts a typed JavaScript value to a string.\n\nThis method is called when setting JS property values to\nHTML attributes.  Users may override this method to provide\nserialization for custom types.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 524,
              "column": 4
            },
            "end": {
              "line": 531,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value",
              "type": "*",
              "description": "Property value to serialize."
            }
          ],
          "return": {
            "type": "(string | undefined)",
            "desc": "String serialized from the provided\nproperty  value."
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_deserializeValue",
          "description": "Converts a string to a typed JavaScript value.\n\nThis method is called when reading HTML attribute values to\nJS properties.  Users may override this method to provide\ndeserialization for custom `type`s. Types for `Boolean`, `String`,\nand `Number` convert attributes to the expected types.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 546,
              "column": 4
            },
            "end": {
              "line": 555,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value",
              "type": "?string",
              "description": "Value to deserialize."
            },
            {
              "name": "type",
              "type": "*=",
              "description": "Type to deserialize the string to."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Typed value deserialized from the provided string."
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_initializeProtoProperties",
          "description": "Overrides `PropertyAccessors` implementation to provide a\nmore efficient implementation of initializing properties from\nthe prototype on the instance.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1190,
              "column": 4
            },
            "end": {
              "line": 1194,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "Object",
              "description": "Properties to initialize on the prototype"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_ensureAttribute",
          "description": "Ensures the element has the given attribute. If it does not,\nassigns the given value to the attribute.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 195,
              "column": 4
            },
            "end": {
              "line": 200,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "attribute",
              "type": "string",
              "description": "Name of attribute to ensure is set."
            },
            {
              "name": "value",
              "type": "string",
              "description": "of the attribute."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "_hasAccessor",
          "description": "Returns true if this library created an accessor for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 307,
              "column": 4
            },
            "end": {
              "line": 309,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if an accessor was created"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "_isPropertyPending",
          "description": "Returns true if the specified property has a pending change.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 319,
              "column": 4
            },
            "end": {
              "line": 321,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "prop",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if property has a pending change"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "_addPropertyEffect",
          "description": "Equivalent to static `addPropertyEffect` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1229,
              "column": 4
            },
            "end": {
              "line": 1237,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property that should trigger the effect"
            },
            {
              "name": "type",
              "type": "string",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_removePropertyEffect",
          "description": "Removes the given property effect.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1248,
              "column": 4
            },
            "end": {
              "line": 1254,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property the effect was associated with"
            },
            {
              "name": "type",
              "type": "string",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object to remove"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasPropertyEffect",
          "description": "Returns whether the current prototype/instance has a property effect\nof a certain type.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1267,
              "column": 4
            },
            "end": {
              "line": 1270,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "type",
              "type": "string=",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasReadOnlyEffect",
          "description": "Returns whether the current prototype/instance has a \"read only\"\naccessor for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1282,
              "column": 4
            },
            "end": {
              "line": 1284,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasNotifyEffect",
          "description": "Returns whether the current prototype/instance has a \"notify\"\nproperty effect for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1296,
              "column": 4
            },
            "end": {
              "line": 1298,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasReflectEffect",
          "description": "Returns whether the current prototype/instance has a \"reflect to\nattribute\" property effect for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1310,
              "column": 4
            },
            "end": {
              "line": 1312,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasComputedEffect",
          "description": "Returns whether the current prototype/instance has a \"computed\"\nproperty effect for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1324,
              "column": 4
            },
            "end": {
              "line": 1326,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_setPendingPropertyOrPath",
          "description": "Sets a pending property or path.  If the root property of the path in\nquestion had no accessor, the path is set, otherwise it is enqueued\nvia `_setPendingProperty`.\n\nThis function isolates relatively expensive functionality necessary\nfor the public API (`set`, `setProperties`, `notifyPath`, and property\nchange listeners via {{...}} bindings), such that it is only done\nwhen paths enter the system, and not at every propagation step.  It\nalso sets a `__dataHasPaths` flag on the instance which is used to\nfast-path slower path-matching code in the property effects host paths.\n\n`path` can be a path string or array of path parts as accepted by the\npublic API.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1359,
              "column": 4
            },
            "end": {
              "line": 1391,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(number | string)>)",
              "description": "Path to set"
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set"
            },
            {
              "name": "shouldNotify",
              "type": "boolean=",
              "description": "Set to true if this change should\n cause a property notification event dispatch"
            },
            {
              "name": "isPathNotification",
              "type": "boolean=",
              "description": "If the path being set is a path\n  notification of an already changed value, as opposed to a request\n  to set and notify the change.  In the latter `false` case, a dirty\n  check is performed and then the value is set to the path before\n  enqueuing the pending property change."
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property/path was enqueued in\n  the pending changes bag."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_setUnmanagedPropertyToNode",
          "description": "Applies a value to a non-Polymer element/node's property.\n\nThe implementation makes a best-effort at binding interop:\nSome native element properties have side-effects when\nre-setting the same value (e.g. setting `<input>.value` resets the\ncursor position), so we do a dirty-check before setting the value.\nHowever, for better interop with non-Polymer custom elements that\naccept objects, we explicitly re-set object changes coming from the\nPolymer world (which may include deep object changes without the\ntop reference changing), erring on the side of providing more\ninformation.\n\nUsers may override this method to provide alternate approaches.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1415,
              "column": 4
            },
            "end": {
              "line": 1427,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!Node",
              "description": "The node to set a property on"
            },
            {
              "name": "prop",
              "type": "string",
              "description": "The property to set"
            },
            {
              "name": "value",
              "type": "*",
              "description": "The value to set"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_enqueueClient",
          "description": "Enqueues the given client on a list of pending clients, whose\npending property changes can later be flushed via a call to\n`_flushClients`.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1535,
              "column": 4
            },
            "end": {
              "line": 1540,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "client",
              "type": "Object",
              "description": "PropertyEffects client to enqueue"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_flushClients",
          "description": "Flushes any clients previously enqueued via `_enqueueClient`, causing\ntheir `_flushProperties` method to run.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1563,
              "column": 4
            },
            "end": {
              "line": 1574,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__enableOrFlushClients",
          "description": "(c) the stamped dom enables.",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1588,
              "column": 4
            },
            "end": {
              "line": 1601,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_readyClients",
          "description": "Implements `PropertyEffects`'s `_readyClients` call. Attaches\nelement dom by calling `_attachDom` with the dom stamped from the\nelement's template via `_stampTemplate`. Note that this allows\nclient dom to be attached to the element prior to any observers\nrunning.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 662,
              "column": 4
            },
            "end": {
              "line": 671,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "setProperties",
          "description": "Sets a bag of property changes to this instance, and\nsynchronously processes all effects of the properties as a batch.\n\nProperty names must be simple properties, not paths.  Batched\npath propagation is not supported.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1632,
              "column": 4
            },
            "end": {
              "line": 1643,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of one or more key-value pairs whose key is\n  a property and value is the new value to set for that property."
            },
            {
              "name": "setReadOnly",
              "type": "boolean=",
              "description": "When true, any private values set in\n  `props` will be set. By default, `setProperties` will not set\n  `readOnly: true` root properties."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_propagatePropertyChanges",
          "description": "Called to propagate any property changes to stamped template nodes\nmanaged by this element.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1732,
              "column": 4
            },
            "end": {
              "line": 1742,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "changedProps",
              "type": "Object",
              "description": "Bag of changed properties"
            },
            {
              "name": "oldProps",
              "type": "Object",
              "description": "Bag of previous values for changed properties"
            },
            {
              "name": "hasPaths",
              "type": "boolean",
              "description": "True with `props` contains one or more paths"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "linkPaths",
          "description": "Aliases one data path as another, such that path notifications from one\nare routed to the other.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1754,
              "column": 4
            },
            "end": {
              "line": 1759,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "to",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Target path to link."
            },
            {
              "name": "from",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Source path to link."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "unlinkPaths",
          "description": "Removes a data path alias previously established with `_linkPaths`.\n\nNote, the path to unlink should be the target (`to`) used when\nlinking the paths.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1772,
              "column": 4
            },
            "end": {
              "line": 1777,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Target path to unlink."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "notifySplices",
          "description": "Notify that an array has changed.\n\nExample:\n\n    this.items = [ {name: 'Jim'}, {name: 'Todd'}, {name: 'Bill'} ];\n    ...\n    this.items.splice(1, 1, {name: 'Sam'});\n    this.items.push({name: 'Bob'});\n    this.notifySplices('items', [\n      { index: 1, removed: [{name: 'Todd'}], addedCount: 1,\n        object: this.items, type: 'splice' },\n      { index: 3, removed: [], addedCount: 1,\n        object: this.items, type: 'splice'}\n    ]);",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1813,
              "column": 4
            },
            "end": {
              "line": 1817,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "string",
              "description": "Path that should be notified."
            },
            {
              "name": "splices",
              "type": "Array",
              "description": "Array of splice records indicating ordered\n  changes that occurred to the array. Each record should have the\n  following fields:\n   * index: index at which the change occurred\n   * removed: array of items that were removed from this index\n   * addedCount: number of new items added at this index\n   * object: a reference to the array in question\n   * type: the string literal 'splice'\n\n  Note that splice records _must_ be normalized such that they are\n  reported in index order (raw results from `Object.observe` are not\n  ordered and must be normalized/merged before notifying)."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "get",
          "description": "Convenience method for reading a value from a path.\n\nNote, if any part in the path is undefined, this method returns\n`undefined` (this method does not throw when dereferencing undefined\npaths).",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1839,
              "column": 4
            },
            "end": {
              "line": 1841,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to the value\n  to read.  The path may be specified as a string (e.g. `foo.bar.baz`)\n  or an array of path parts (e.g. `['foo.bar', 'baz']`).  Note that\n  bracketed expressions are not supported; string-based path parts\n  *must* be separated by dots.  Note that when dereferencing array\n  indices, the index may be used as a dotted part directly\n  (e.g. `users.12.name` or `['users', 12, 'name']`)."
            },
            {
              "name": "root",
              "type": "Object=",
              "description": "Root object from which the path is evaluated."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Value at the path, or `undefined` if any part of the path\n  is undefined."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "set",
          "description": "Convenience method for setting a value to a path and notifying any\nelements bound to the same path.\n\nNote, if any part in the path except for the last is undefined,\nthis method does nothing (this method does not throw when\ndereferencing undefined paths).",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1865,
              "column": 4
            },
            "end": {
              "line": 1875,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to the value\n  to write.  The path may be specified as a string (e.g. `'foo.bar.baz'`)\n  or an array of path parts (e.g. `['foo.bar', 'baz']`).  Note that\n  bracketed expressions are not supported; string-based path parts\n  *must* be separated by dots.  Note that when dereferencing array\n  indices, the index may be used as a dotted part directly\n  (e.g. `'users.12.name'` or `['users', 12, 'name']`)."
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set at the specified path."
            },
            {
              "name": "root",
              "type": "Object=",
              "description": "Root object from which the path is evaluated.\n  When specified, no notification will occur."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "push",
          "description": "Adds items onto the end of the array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.push`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1892,
              "column": 4
            },
            "end": {
              "line": 1901,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            },
            {
              "name": "items",
              "type": "...*",
              "rest": true,
              "description": "Items to push onto array"
            }
          ],
          "return": {
            "type": "number",
            "desc": "New length of the array."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "pop",
          "description": "Removes an item from the end of array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.pop`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1917,
              "column": 4
            },
            "end": {
              "line": 1926,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Item that was removed."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "splice",
          "description": "Starting from the start index specified, removes 0 or more items\nfrom the array and inserts 0 or more new items in their place.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.splice`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1946,
              "column": 4
            },
            "end": {
              "line": 1983,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            },
            {
              "name": "start",
              "type": "number",
              "description": "Index from which to start removing/inserting."
            },
            {
              "name": "deleteCount",
              "type": "number=",
              "description": "Number of items to remove."
            },
            {
              "name": "items",
              "type": "...*",
              "rest": true,
              "description": "Items to insert into array."
            }
          ],
          "return": {
            "type": "Array",
            "desc": "Array of removed items."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "shift",
          "description": "Removes an item from the beginning of array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.pop`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1999,
              "column": 4
            },
            "end": {
              "line": 2008,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Item that was removed."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "unshift",
          "description": "Adds items onto the beginning of the array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.push`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2025,
              "column": 4
            },
            "end": {
              "line": 2033,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            },
            {
              "name": "items",
              "type": "...*",
              "rest": true,
              "description": "Items to insert info array"
            }
          ],
          "return": {
            "type": "number",
            "desc": "New length of the array."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "notifyPath",
          "description": "Notify that a path has changed.\n\nExample:\n\n    this.item.user.name = 'Bob';\n    this.notifyPath('item.user.name');",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2049,
              "column": 4
            },
            "end": {
              "line": 2066,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "string",
              "description": "Path that should be notified."
            },
            {
              "name": "value",
              "type": "*=",
              "description": "Value at the path (optional)."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createReadOnlyProperty",
          "description": "Equivalent to static `createReadOnlyProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2080,
              "column": 4
            },
            "end": {
              "line": 2087,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "protectedSetter",
              "type": "boolean=",
              "description": "Creates a custom protected setter\n  when `true`."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createPropertyObserver",
          "description": "Equivalent to static `createPropertyObserver` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2103,
              "column": 4
            },
            "end": {
              "line": 2113,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "method",
              "type": "(string | function (*, *))",
              "description": "Function or name of observer method\n    to call"
            },
            {
              "name": "dynamicFn",
              "type": "boolean=",
              "description": "Whether the method name should be included as\n  a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createMethodObserver",
          "description": "Equivalent to static `createMethodObserver` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2127,
              "column": 4
            },
            "end": {
              "line": 2133,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating\n  whether method names should be included as a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createNotifyingProperty",
          "description": "Equivalent to static `createNotifyingProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2145,
              "column": 4
            },
            "end": {
              "line": 2153,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createReflectedProperty",
          "description": "Equivalent to static `createReflectedProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2166,
              "column": 4
            },
            "end": {
              "line": 2179,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createComputedProperty",
          "description": "Equivalent to static `createComputedProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2194,
              "column": 4
            },
            "end": {
              "line": 2200,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of computed property to set"
            },
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating\n  whether method names should be included as a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_marshalArgs",
          "description": "Gather the argument values for a method specified in the provided array\nof argument metadata.\n\nThe `path` and `value` arguments are used to fill in wildcard descriptor\nwhen the method is being called as a result of a path notification.",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2215,
              "column": 4
            },
            "end": {
              "line": 2236,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "args",
              "type": "!Array.<!MethodArg>",
              "description": "Array of argument metadata"
            },
            {
              "name": "path",
              "type": "string",
              "description": "Property/path name that triggered the method effect"
            },
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of current property changes"
            }
          ],
          "return": {
            "type": "Array.<*>",
            "desc": "Array of argument values"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_bindTemplate",
          "description": "Equivalent to static `bindTemplate` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.\n\nThis method may be called on the prototype (for prototypical template\nbinding, to avoid creating accessors every instance) once per prototype,\nand will be called with `runtimeBinding: true` by `_stampTemplate` to\ncreate and link an instance of the template metadata associated with a\nparticular stamping.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2423,
              "column": 4
            },
            "end": {
              "line": 2446,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template containing binding\n  bindings"
            },
            {
              "name": "instanceBinding",
              "type": "boolean=",
              "description": "When false (default), performs\n  \"prototypical\" binding of the template and overwrites any previously\n  bound template for the class. When true (as passed from\n  `_stampTemplate`), the template info is instanced and linked into\n  the list of bound templates."
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Template metadata object; for `runtimeBinding`,\n  this is an instance of the prototypical template info"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_removeBoundDom",
          "description": "Removes and unbinds the nodes previously contained in the provided\nDocumentFragment returned from `_stampTemplate`.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2527,
              "column": 4
            },
            "end": {
              "line": 2548,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "dom",
              "type": "!StampedTemplate",
              "description": "DocumentFragment previously returned\n  from `_stampTemplate` associated with the nodes to be removed"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "connectedCallback",
          "description": "Provides a default implementation of the standard Custom Elements\n`connectedCallback`.\n\nThe default implementation enables the property effects system and\nflushes any pending properties, and updates shimmed CSS properties\nwhen using the ShadyCSS scoping/custom properties polyfill.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 631,
              "column": 4
            },
            "end": {
              "line": 636,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "disconnectedCallback",
          "description": "Called when the element is removed from a document",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-mixin.js",
            "start": {
              "line": 230,
              "column": 3
            },
            "end": {
              "line": 234,
              "column": 4
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesMixin"
        },
        {
          "name": "_attachDom",
          "description": "Attaches an element's stamped dom to itself. By default,\nthis method creates a `shadowRoot` and adds the dom to it.\nHowever, this method may be overridden to allow an element\nto put its dom in another location.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 686,
              "column": 4
            },
            "end": {
              "line": 706,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "dom",
              "type": "StampedTemplate",
              "description": "to attach to the element."
            }
          ],
          "return": {
            "type": "ShadowRoot",
            "desc": "node to which the dom has been attached."
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "updateStyles",
          "description": "When using the ShadyCSS scoping and custom property shim, causes all\nshimmed styles in this element (and its subtree) to be updated\nbased on current custom property values.\n\nThe optional parameter overrides inline custom property styles with an\nobject of properties where the keys are CSS properties, and the values\nare strings.\n\nExample: `this.updateStyles({'--color': 'blue'})`\n\nThese properties are retained unless a value of `null` is set.\n\nNote: This function does not support updating CSS mixins.\nYou can not dynamically change the value of an `@apply`.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 730,
              "column": 4
            },
            "end": {
              "line": 734,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "properties",
              "type": "Object=",
              "description": "Bag of custom property key/values to\n  apply to this element."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "resolveUrl",
          "description": "Rewrites a given URL relative to a base URL. The base URL defaults to\nthe original location of the document containing the `dom-module` for\nthis element. This method will return the same URL before and after\nbundling.\n\nNote that this function performs no resolution for URLs that start\nwith `/` (absolute URLs) or `#` (hash identifiers).  For general purpose\nURL resolution, use `window.URL`.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 752,
              "column": 4
            },
            "end": {
              "line": 757,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "url",
              "type": "string",
              "description": "URL to resolve."
            },
            {
              "name": "base",
              "type": "string=",
              "description": "Optional base URL to resolve against, defaults\nto the element's `importPath`"
            }
          ],
          "return": {
            "type": "string",
            "desc": "Rewritten URL relative to base"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "setIronIconStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 123,
              "column": 2
            },
            "end": {
              "line": 130,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "size"
            }
          ]
        },
        {
          "name": "getImgStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 132,
              "column": 2
            },
            "end": {
              "line": 134,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "fit"
            }
          ]
        },
        {
          "name": "showSlot",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 136,
              "column": 2
            },
            "end": {
              "line": 138,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "src"
            },
            {
              "name": "icon"
            }
          ]
        },
        {
          "name": "showIcon",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 140,
              "column": 2
            },
            "end": {
              "line": 142,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "icon"
            }
          ]
        },
        {
          "name": "showSrc",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 144,
              "column": 2
            },
            "end": {
              "line": 146,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "src"
            }
          ]
        },
        {
          "name": "getAvatarStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 148,
              "column": 2
            },
            "end": {
              "line": 152,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "size"
            }
          ]
        },
        {
          "name": "getAvatarClass",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 154,
              "column": 2
            },
            "end": {
              "line": 159,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "size"
            },
            {
              "name": "shape"
            }
          ]
        },
        {
          "name": "onSizeChange",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 161,
              "column": 2
            },
            "end": {
              "line": 166,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "size"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "onShapeChange",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 168,
              "column": 2
            },
            "end": {
              "line": 173,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "shape"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [
        {
          "name": "_parseTemplate",
          "description": "Scans a template to produce template metadata.\n\nTemplate-specific metadata are stored in the object returned, and node-\nspecific metadata are stored in objects in its flattened `nodeInfoList`\narray.  Only nodes in the template that were parsed as nodes of\ninterest contain an object in `nodeInfoList`.  Each `nodeInfo` object\ncontains an `index` (`childNodes` index in parent) and optionally\n`parent`, which points to node info of its parent (including its index).\n\nThe template metadata object returned from this method has the following\nstructure (many fields optional):\n\n```js\n  {\n    // Flattened list of node metadata (for nodes that generated metadata)\n    nodeInfoList: [\n      {\n        // `id` attribute for any nodes with id's for generating `$` map\n        id: {string},\n        // `on-event=\"handler\"` metadata\n        events: [\n          {\n            name: {string},   // event name\n            value: {string},  // handler method name\n          }, ...\n        ],\n        // Notes when the template contained a `<slot>` for shady DOM\n        // optimization purposes\n        hasInsertionPoint: {boolean},\n        // For nested `<template>`` nodes, nested template metadata\n        templateInfo: {object}, // nested template metadata\n        // Metadata to allow efficient retrieval of instanced node\n        // corresponding to this metadata\n        parentInfo: {number},   // reference to parent nodeInfo>\n        parentIndex: {number},  // index in parent's `childNodes` collection\n        infoIndex: {number},    // index of this `nodeInfo` in `templateInfo.nodeInfoList`\n      },\n      ...\n    ],\n    // When true, the template had the `strip-whitespace` attribute\n    // or was nested in a template with that setting\n    stripWhitespace: {boolean},\n    // For nested templates, nested template content is moved into\n    // a document fragment stored here; this is an optimization to\n    // avoid the cost of nested template cloning\n    content: {DocumentFragment}\n  }\n```\n\nThis method kicks off a recursive treewalk as follows:\n\n```\n   _parseTemplate <---------------------+\n     _parseTemplateContent              |\n       _parseTemplateNode  <------------|--+\n         _parseTemplateNestedTemplate --+  |\n         _parseTemplateChildNodes ---------+\n         _parseTemplateNodeAttributes\n           _parseTemplateNodeAttribute\n\n```\n\nThese methods may be overridden to add custom metadata about templates\nto either `templateInfo` or `nodeInfo`.\n\nNote that this method may be destructive to the template, in that\ne.g. event annotations may be removed after being noted in the\ntemplate metadata.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 248,
              "column": 4
            },
            "end": {
              "line": 262,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template to parse"
            },
            {
              "name": "outerTemplateInfo",
              "type": "TemplateInfo=",
              "description": "Template metadata from the outer\n  template, for parsing nested templates"
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Parsed template metadata"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_parseTemplateContent",
          "description": "Overrides `PropertyEffects` to add map of dynamic functions on\ntemplate info, for consumption by `PropertyEffects` template binding\ncode. This map determines which method templates should have accessors\ncreated for them.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 772,
              "column": 4
            },
            "end": {
              "line": 778,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template"
            },
            {
              "name": "templateInfo",
              "type": "!TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "!NodeInfo",
              "description": "Node metadata for current template."
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "."
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_parseTemplateNode",
          "description": "Overrides default `TemplateStamp` implementation to add support for\nparsing bindings from `TextNode`'s' `textContent`.  A `bindings`\narray is added to `nodeInfo` and populated with binding metadata\nwith information capturing the binding target, and a `parts` array\nwith one or more metadata objects capturing the source(s) of the\nbinding.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2567,
              "column": 4
            },
            "end": {
              "line": 2584,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Node",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "NodeInfo",
              "description": "Node metadata for current template node"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_parseTemplateChildNodes",
          "description": "Parses template child nodes for the given root node.\n\nThis method also wraps whitelisted legacy template extensions\n(`is=\"dom-if\"` and `is=\"dom-repeat\"`) with their equivalent element\nwrappers, collapses text nodes, and strips whitespace from the template\nif the `templateInfo.stripWhitespace` setting was provided.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 323,
              "column": 4
            },
            "end": {
              "line": 361,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "root",
              "type": "Node",
              "description": "Root node whose `childNodes` will be parsed"
            },
            {
              "name": "templateInfo",
              "type": "!TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "!NodeInfo",
              "description": "Node metadata for current template."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_parseTemplateNestedTemplate",
          "description": "Overrides default `TemplateStamp` implementation to add support for\nbinding the properties that a nested template depends on to the template\nas `_host_<property>`.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2670,
              "column": 4
            },
            "end": {
              "line": 2683,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Node",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "NodeInfo",
              "description": "Node metadata for current template node"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_parseTemplateNodeAttributes",
          "description": "Parses template node attributes and adds node metadata to `nodeInfo`\nfor nodes of interest.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 404,
              "column": 4
            },
            "end": {
              "line": 413,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Element",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "!TemplateInfo",
              "description": "Template metadata for current\n    template"
            },
            {
              "name": "nodeInfo",
              "type": "!NodeInfo",
              "description": "Node metadata for current template."
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_parseTemplateNodeAttribute",
          "description": "Overrides default `TemplateStamp` implementation to add support for\nparsing bindings from attributes.  A `bindings`\narray is added to `nodeInfo` and populated with binding metadata\nwith information capturing the binding target, and a `parts` array\nwith one or more metadata objects capturing the source(s) of the\nbinding.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2605,
              "column": 4
            },
            "end": {
              "line": 2654,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Element",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "NodeInfo",
              "description": "Node metadata for current template node"
            },
            {
              "name": "name",
              "type": "string",
              "description": "Attribute name"
            },
            {
              "name": "value",
              "type": "string",
              "description": "Attribute value"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_contentForTemplate",
          "description": "Returns the `content` document fragment for a given template.\n\nFor nested templates, Polymer performs an optimization to cache nested\ntemplate content to avoid the cost of cloning deeply nested templates.\nThis method retrieves the cached content for a given template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 461,
              "column": 4
            },
            "end": {
              "line": 464,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "HTMLTemplateElement",
              "description": "Template to retrieve `content` for"
            }
          ],
          "return": {
            "type": "DocumentFragment",
            "desc": "Content fragment"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "createProperties",
          "description": "Override of PropertiesChanged createProperties to create accessors\nand property effects for all of the properties.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 384,
              "column": 4
            },
            "end": {
              "line": 389,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "!Object",
              "description": "."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "attributeNameForProperty",
          "description": "Returns an attribute name that corresponds to the given property.\nThe attribute name is the lowercased property name. Override to\ncustomize this mapping.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 82,
              "column": 4
            },
            "end": {
              "line": 84,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property to convert"
            }
          ],
          "return": {
            "type": "string",
            "desc": "Attribute name corresponding to the given property."
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "typeForProperty",
          "description": "Overrides `PropertiesChanged` method to return type specified in the\nstatic `properties` object for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-mixin.js",
            "start": {
              "line": 192,
              "column": 3
            },
            "end": {
              "line": 195,
              "column": 4
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "name",
              "type": "string",
              "description": "Name of property"
            }
          ],
          "return": {
            "type": "*",
            "desc": "Type to which to deserialize attribute"
          },
          "inheritedFrom": "PropertiesMixin"
        },
        {
          "name": "createPropertiesForAttributes",
          "description": "Generates property accessors for all attributes in the standard\nstatic `observedAttributes` array.\n\nAttribute names are mapped to property names using the `dash-case` to\n`camelCase` convention",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 126,
              "column": 4
            },
            "end": {
              "line": 131,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "addPropertyEffect",
          "description": "Ensures an accessor exists for the specified property, and adds\nto a list of \"property effects\" that will run when the accessor for\nthe specified property is set.  Effects are grouped by \"type\", which\nroughly corresponds to a phase in effect processing.  The effect\nmetadata should be in the following form:\n\n    {\n      fn: effectFunction, // Reference to function to call to perform effect\n      info: { ... }       // Effect metadata passed to function\n      trigger: {          // Optional triggering metadata; if not provided\n        name: string      // the property is treated as a wildcard\n        structured: boolean\n        wildcard: boolean\n      }\n    }\n\nEffects are called from `_propertiesChanged` in the following order by\ntype:\n\n1. COMPUTE\n2. PROPAGATE\n3. REFLECT\n4. OBSERVE\n5. NOTIFY\n\nEffect functions are called with the following signature:\n\n    effectFunction(inst, path, props, oldProps, info, hasPaths)",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2277,
              "column": 4
            },
            "end": {
              "line": 2279,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property that should trigger the effect"
            },
            {
              "name": "type",
              "type": "string",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createPropertyObserver",
          "description": "Creates a single-property observer for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2292,
              "column": 4
            },
            "end": {
              "line": 2294,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "method",
              "type": "(string | function (*, *))",
              "description": "Function or name of observer method to call"
            },
            {
              "name": "dynamicFn",
              "type": "boolean=",
              "description": "Whether the method name should be included as\n  a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createMethodObserver",
          "description": "Creates a multi-property \"method observer\" based on the provided\nexpression, which should be a string in the form of a normal JavaScript\nfunction signature: `'methodName(arg1, [..., argn])'`.  Each argument\nshould correspond to a property or path in the context of this\nprototype (or instance), or may be a literal string or number.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2310,
              "column": 4
            },
            "end": {
              "line": 2312,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating"
            }
          ],
          "return": {
            "type": "void",
            "desc": "whether method names should be included as a dependency to the effect."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createNotifyingProperty",
          "description": "Causes the setter for the given property to dispatch `<property>-changed`\nevents to notify of changes to the property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2323,
              "column": 4
            },
            "end": {
              "line": 2325,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createReadOnlyProperty",
          "description": "Creates a read-only accessor for the given property.\n\nTo set the property, use the protected `_setProperty` API.\nTo create a custom protected setter (e.g. `_setMyProp()` for\nproperty `myProp`), pass `true` for `protectedSetter`.\n\nNote, if the property will have other property effects, this method\nshould be called first, before adding other effects.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2344,
              "column": 4
            },
            "end": {
              "line": 2346,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "protectedSetter",
              "type": "boolean=",
              "description": "Creates a custom protected setter\n  when `true`."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createReflectedProperty",
          "description": "Causes the setter for the given property to reflect the property value\nto a (dash-cased) attribute of the same name.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2357,
              "column": 4
            },
            "end": {
              "line": 2359,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createComputedProperty",
          "description": "Creates a computed property whose value is set to the result of the\nmethod described by the given `expression` each time one or more\narguments to the method changes.  The expression should be a string\nin the form of a normal JavaScript function signature:\n`'methodName(arg1, [..., argn])'`",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2376,
              "column": 4
            },
            "end": {
              "line": 2378,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of computed property to set"
            },
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating whether\n  method names should be included as a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "bindTemplate",
          "description": "Parses the provided template to ensure binding effects are created\nfor them, and then ensures property accessors are created for any\ndependent properties in the template.  Binding effects for bound\ntemplates are stored in a linked list on the instance so that\ntemplates can be efficiently stamped and unstamped.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2393,
              "column": 4
            },
            "end": {
              "line": 2395,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template containing binding\n  bindings"
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Template metadata object"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_addTemplatePropertyEffect",
          "description": "Overrides `PropertyEffects` to warn on use of undeclared properties in\ntemplate.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 792,
              "column": 4
            },
            "end": {
              "line": 809,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "templateInfo",
              "type": "Object",
              "description": "Template metadata to add effect to"
            },
            {
              "name": "prop",
              "type": "string",
              "description": "Property that should trigger the effect"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_parseBindings",
          "description": "Called to parse text in a template (either attribute values or\ntextContent) into binding metadata.\n\nAny overrides of this method should return an array of binding part\nmetadata  representing one or more bindings found in the provided text\nand any \"literal\" text in between.  Any non-literal parts will be passed\nto `_evaluateBinding` when any dependencies change.  The only required\nfields of each \"part\" in the returned array are as follows:\n\n- `dependencies` - Array containing trigger metadata for each property\n  that should trigger the binding to update\n- `literal` - String containing text if the part represents a literal;\n  in this case no `dependencies` are needed\n\nAdditional metadata for use by `_evaluateBinding` may be provided in\neach part object as needed.\n\nThe default implementation handles the following types of bindings\n(one or more may be intermixed with literal strings):\n- Property binding: `[[prop]]`\n- Path binding: `[[object.prop]]`\n- Negated property or path bindings: `[[!prop]]` or `[[!object.prop]]`\n- Two-way property or path bindings (supports negation):\n  `{{prop}}`, `{{object.prop}}`, `{{!prop}}` or `{{!object.prop}}`\n- Inline computed method (supports negation):\n  `[[compute(a, 'literal', b)]]`, `[[!compute(a, 'literal', b)]]`\n\nThe default implementation uses a regular expression for best\nperformance. However, the regular expression uses a white-list of\nallowed characters in a data-binding, which causes problems for\ndata-bindings that do use characters not in this white-list.\n\nInstead of updating the white-list with all allowed characters,\nthere is a StrictBindingParser (see lib/mixins/strict-binding-parser)\nthat uses a state machine instead. This state machine is able to handle\nall characters. However, it is slightly less performant, therefore we\nextracted it into a separate optional mixin.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2730,
              "column": 4
            },
            "end": {
              "line": 2795,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "text",
              "type": "string",
              "description": "Text to parse from attribute or textContent"
            },
            {
              "name": "templateInfo",
              "type": "Object",
              "description": "Current template metadata"
            }
          ],
          "return": {
            "type": "Array.<!BindingPart>",
            "desc": "Array of binding part metadata"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_evaluateBinding",
          "description": "Called to evaluate a previously parsed binding part based on a set of\none or more changed dependencies.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2812,
              "column": 4
            },
            "end": {
              "line": 2829,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "inst",
              "type": "!Polymer_PropertyEffects",
              "description": "Element that should be used as\n    scope for binding dependencies"
            },
            {
              "name": "part",
              "type": "BindingPart",
              "description": "Binding part metadata"
            },
            {
              "name": "path",
              "type": "string",
              "description": "Property/path that triggered this effect"
            },
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of current property changes"
            },
            {
              "name": "oldProps",
              "type": "Object",
              "description": "Bag of previous values for changed properties"
            },
            {
              "name": "hasPaths",
              "type": "boolean",
              "description": "True with `props` contains one or more paths"
            }
          ],
          "return": {
            "type": "*",
            "desc": "Value the binding part evaluated to"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "finalize",
          "description": "Finalizes an element definition, including ensuring any super classes\nare also finalized. This includes ensuring property\naccessors exist on the element prototype. This method calls\n`_finalizeClass` to finalize each constructor in the prototype chain.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-mixin.js",
            "start": {
              "line": 137,
              "column": 3
            },
            "end": {
              "line": 146,
              "column": 4
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesMixin"
        },
        {
          "name": "_finalizeClass",
          "description": "Override of PropertiesMixin _finalizeClass to create observers and\nfind the template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 348,
              "column": 4
            },
            "end": {
              "line": 357,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_prepareTemplate",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 360,
              "column": 4
            },
            "end": {
              "line": 374,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "createObservers",
          "description": "Creates observers for the given `observers` array.\nLeverages `PropertyEffects` to create observers.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 403,
              "column": 4
            },
            "end": {
              "line": 408,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "observers",
              "type": "Object",
              "description": "Array of observer descriptors for\n  this class"
            },
            {
              "name": "dynamicFns",
              "type": "Object",
              "description": "Object containing keys for any properties\n  that are functions and should trigger the effect when the function\n  reference is changed"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_processStyleText",
          "description": "Gather style text for a style element in the template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 591,
              "column": 4
            },
            "end": {
              "line": 593,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "cssText",
              "type": "string",
              "description": "Text containing styling to process"
            },
            {
              "name": "baseURI",
              "type": "string",
              "description": "Base URI to rebase CSS paths against"
            }
          ],
          "return": {
            "type": "string",
            "desc": "The processed CSS text"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_finalizeTemplate",
          "description": "Configures an element `proto` to function with a given `template`.\nThe element name `is` and extends `ext` must be specified for ShadyCSS\nstyle scoping.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 605,
              "column": 4
            },
            "end": {
              "line": 616,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "is",
              "type": "string",
              "description": "Tag name (or type extension name) for this element"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        }
      ],
      "demos": [
        {
          "url": "demo/isu-avatar/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 15,
          "column": 0
        },
        "end": {
          "line": 174,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "PolymerElement",
      "name": "IsuAvatar",
      "attributes": [
        {
          "name": "icon",
          "description": "icon，参照iron-icon的icon类型",
          "sourceRange": {
            "start": {
              "line": 81,
              "column": 6
            },
            "end": {
              "line": 84,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "src",
          "description": "图片地址",
          "sourceRange": {
            "start": {
              "line": 88,
              "column": 6
            },
            "end": {
              "line": 91,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "size",
          "description": "头像大小，可以是数字字符串或者large、medium、small中的一个",
          "sourceRange": {
            "start": {
              "line": 95,
              "column": 6
            },
            "end": {
              "line": 98,
              "column": 7
            }
          },
          "metadata": {}
        },
        {
          "name": "shape",
          "description": "头像形状，可以是circle或者square",
          "sourceRange": {
            "start": {
              "line": 102,
              "column": 6
            },
            "end": {
              "line": 106,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "fit",
          "description": "图片适应类型，类型参照https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit",
          "sourceRange": {
            "start": {
              "line": 110,
              "column": 6
            },
            "end": {
              "line": 113,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "alt",
          "description": "图片加载不成功的替代文字",
          "sourceRange": {
            "start": {
              "line": 117,
              "column": 6
            },
            "end": {
              "line": 119,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-avatar"
    },
    {
      "description": "`isu-button`\n\nExample:\n```html\n <div>\n  <isu-button>Enable</isu-button>\n  <isu-button disabled>Disabled</isu-button>\n </div>\n <div>\n  <isu-button size=\"small\">small</isu-button>\n  <isu-button size=\"normal\">normal</isu-button>\n  <isu-button size=\"large\">large</isu-button>\n </div>\n <div>\n   <isu-button>default</isu-button>\n   <isu-button type=\"success\">success</isu-button>\n   <isu-button type=\"primary\">primary</isu-button>\n   <isu-button type=\"warning\">warning</isu-button>\n   <isu-button type=\"danger\">danger</isu-button>\n </div>\n <div>\n  <isu-button><iron-icon icon=\"check\"></iron-icon>default</isu-button>\n  <isu-button type=\"success\"><iron-icon icon=\"check\"></iron-icon>success</isu-button>\n  <isu-button type=\"primary\"><iron-icon icon=\"check\"></iron-icon>primary</isu-button>\n  <isu-button type=\"warning\"><iron-icon icon=\"check\"></iron-icon>warning</isu-button>\n  <isu-button type=\"danger\"><iron-icon icon=\"check\"></iron-icon>danger</isu-button>\n </div>\n <div>\n  <isu-button round>default</isu-button>\n  <isu-button type=\"success\" round>success</isu-button>\n  <isu-button type=\"primary\" round>primary</isu-button>\n  <isu-button type=\"warning\" round>warning</isu-button>\n  <isu-button type=\"danger\" round>danger</isu-button>\n </div>\n <div>\n  <isu-button circle>1</isu-button>\n  <isu-button type=\"success\" circle>2</isu-button>\n  <isu-button type=\"primary\" circle>3</isu-button>\n  <isu-button type=\"warning\" circle>4</isu-button>\n  <isu-button type=\"danger\" circle>5</isu-button>\n  <isu-button id=\"btn4\" circle><iron-icon icon=\"check\"></iron-icon></isu-button>\n </div>\n```\n\n\n\n### Styling\n\n`<isu-button>` provides the following custom properties and mixins\nfor styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--isu-button` | Mixin applied to the button | {}\n`--isu-ui-primary` | Button type=primary style | {}\n`--isu-ui-warning` | Button type=warning style | {}\n`--isu-ui-danger` | Button type=danger style | {}\n`--isu-ui-success` | Button type=success style | {}",
      "summary": "",
      "path": "isu-button.js",
      "properties": [
        {
          "name": "type",
          "type": "string | null | undefined",
          "description": "Properties can be selected as default, primary, warning, danger or success",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 184,
              "column": 6
            },
            "end": {
              "line": 188,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"default\""
        },
        {
          "name": "size",
          "type": "string | null | undefined",
          "description": "Properties can be selected as small, normal or large",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 195,
              "column": 6
            },
            "end": {
              "line": 199,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"normal\""
        },
        {
          "name": "disabled",
          "type": "boolean",
          "description": "Set to true, if the input is readonly.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 205,
              "column": 6
            },
            "end": {
              "line": 208,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-button/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 71,
          "column": 0
        },
        "end": {
          "line": 211,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuButton",
      "attributes": [
        {
          "name": "type",
          "description": "Properties can be selected as default, primary, warning, danger or success",
          "sourceRange": {
            "start": {
              "line": 184,
              "column": 6
            },
            "end": {
              "line": 188,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "size",
          "description": "Properties can be selected as small, normal or large",
          "sourceRange": {
            "start": {
              "line": 195,
              "column": 6
            },
            "end": {
              "line": 199,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "disabled",
          "description": "Set to true, if the input is readonly.",
          "sourceRange": {
            "start": {
              "line": 205,
              "column": 6
            },
            "end": {
              "line": 208,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-button"
    },
    {
      "description": "i`isu-paper-tabs`\n\nExample:\n```html\n<isu-paper-tabs></isu-paper-tabs>\n```",
      "summary": "",
      "path": "isu-paper-tabs.js",
      "demos": [
        {
          "url": "demo/isu-paper-tabs/index.html",
          "description": ""
        }
      ],
      "tagname": "h2-paper-tabs"
    },
    {
      "description": "`isu-loading`\n\nExample:\n```html\n<isu-loading opened></isu-loading>\n```",
      "summary": "",
      "path": "isu-loading.js",
      "properties": [
        {
          "name": "background",
          "type": "string | null | undefined",
          "description": "遮罩背景色",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 91,
              "column": 6
            },
            "end": {
              "line": 93,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "text",
          "type": "string | null | undefined",
          "description": "加载文案",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 97,
              "column": 6
            },
            "end": {
              "line": 100,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "target",
          "type": "string | null | undefined",
          "description": "需要显示loading的节点名称",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 104,
              "column": 6
            },
            "end": {
              "line": 107,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_backgroundChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 119,
              "column": 2
            },
            "end": {
              "line": 121,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "background"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_targetChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 123,
              "column": 2
            },
            "end": {
              "line": 133,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "target"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-loading/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 134,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuLoading",
      "attributes": [
        {
          "name": "background",
          "description": "遮罩背景色",
          "sourceRange": {
            "start": {
              "line": 91,
              "column": 6
            },
            "end": {
              "line": 93,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "text",
          "description": "加载文案",
          "sourceRange": {
            "start": {
              "line": 97,
              "column": 6
            },
            "end": {
              "line": 100,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "target",
          "description": "需要显示loading的节点名称",
          "sourceRange": {
            "start": {
              "line": 104,
              "column": 6
            },
            "end": {
              "line": 107,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "text-changed",
          "description": "Fired when the `text` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "target-changed",
          "description": "Fired when the `target` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-loading"
    },
    {
      "description": "`isu-button-group`\n\nExample:\n```html\n<isu-button-group label=\"测试\">\n<div bind-item=\"1\">测试1</div>\n<div bind-item=\"2\">测试2</div>\n<div bind-item=\"3\">测试3</div>\n</isu-button-group>\n\n\n<isu-button-group items=\"[[ items ]]\" label=\"测试\" attr-for-label=\"label\"></isu-button-group>\n\nitems = [\n{label: \"测试1\", value: \"1\"},\n{label: \"测试2\", value: \"2\"},\n{label: \"测试3\", value: \"3\"}\n]\n\n```\n\n## Styling\n\nThe following custom properties and mixins are available for styling:\n\n|Custom property | Description | Default|\n|----------------|-------------|----------|\n|`--isu-button-group-button` | Mixin applied to the group button | {}\n|`--isu-button-group-dropdown` | Mixin applied to the group dropdown | {}",
      "summary": "",
      "path": "isu-button-group.js",
      "properties": [
        {
          "name": "size",
          "type": "string | null | undefined",
          "description": "Size of the action group button.options:small/medium/large.Default option:medium",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 185,
              "column": 6
            },
            "end": {
              "line": 189,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"medium\""
        },
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "Label of the action group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 195,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "opened",
          "type": "boolean",
          "description": "Return true if the action group is expanded.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 201,
              "column": 6
            },
            "end": {
              "line": 205,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "items",
          "type": "Array | null | undefined",
          "description": "The dropdown items.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 211,
              "column": 6
            },
            "end": {
              "line": 213,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "attrForLabel",
          "type": "string",
          "description": "Attribute name for label.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 220,
              "column": 6
            },
            "end": {
              "line": 223,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "onItemClick",
          "type": "Object | null | undefined",
          "description": "The Function called when user click on every item on dropdownlist.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 227,
              "column": 6
            },
            "end": {
              "line": 229,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "disabled",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 230,
              "column": 6
            },
            "end": {
              "line": 233,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "hideOnClick",
          "type": "boolean | null | undefined",
          "description": "The items will hide when user clicks one item",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 237,
              "column": 6
            },
            "end": {
              "line": 240,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 248,
              "column": 2
            },
            "end": {
              "line": 253,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "open",
          "description": "Expand the group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 258,
              "column": 2
            },
            "end": {
              "line": 260,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "close",
          "description": "Collpase the group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 265,
              "column": 2
            },
            "end": {
              "line": 267,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "toggle",
          "description": "Toggle the group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 272,
              "column": 2
            },
            "end": {
              "line": 289,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getElemPos",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 291,
              "column": 2
            },
            "end": {
              "line": 294,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "obj"
            }
          ]
        },
        {
          "name": "_onButtonDropdownClick",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 296,
              "column": 2
            },
            "end": {
              "line": 304,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_hasPermission",
          "description": "是否有权限",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 309,
              "column": 2
            },
            "end": {
              "line": 312,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            }
          ]
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-button-group/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 42,
          "column": 0
        },
        "end": {
          "line": 313,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuButtonGroup",
      "attributes": [
        {
          "name": "size",
          "description": "Size of the action group button.options:small/medium/large.Default option:medium",
          "sourceRange": {
            "start": {
              "line": 185,
              "column": 6
            },
            "end": {
              "line": 189,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "label",
          "description": "Label of the action group.",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 195,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "opened",
          "description": "Return true if the action group is expanded.",
          "sourceRange": {
            "start": {
              "line": 201,
              "column": 6
            },
            "end": {
              "line": 205,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "items",
          "description": "The dropdown items.",
          "sourceRange": {
            "start": {
              "line": 211,
              "column": 6
            },
            "end": {
              "line": 213,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "attr-for-label",
          "description": "Attribute name for label.",
          "sourceRange": {
            "start": {
              "line": 220,
              "column": 6
            },
            "end": {
              "line": 223,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "on-item-click",
          "description": "The Function called when user click on every item on dropdownlist.",
          "sourceRange": {
            "start": {
              "line": 227,
              "column": 6
            },
            "end": {
              "line": 229,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "disabled",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 230,
              "column": 6
            },
            "end": {
              "line": 233,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "hide-on-click",
          "description": "The items will hide when user clicks one item",
          "sourceRange": {
            "start": {
              "line": 237,
              "column": 6
            },
            "end": {
              "line": 240,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-button-group"
    },
    {
      "description": "`isu-cascading`\n\n```html\n\n```",
      "summary": "",
      "path": "isu-cascading.js",
      "properties": [
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 237,
              "column": 6
            },
            "end": {
              "line": 239,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 240,
              "column": 6
            },
            "end": {
              "line": 243,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"请选择\""
        },
        {
          "name": "opened",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 244,
              "column": 6
            },
            "end": {
              "line": 248,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "items",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 249,
              "column": 6
            },
            "end": {
              "line": 253,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"__itemsChanged\"",
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "treeItems",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 254,
              "column": 6
            },
            "end": {
              "line": 259,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"__treeItemsChanged\"",
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "value",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 260,
              "column": 6
            },
            "end": {
              "line": 265,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"__valueChanged\"",
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "selectedValues",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 266,
              "column": 6
            },
            "end": {
              "line": 270,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "valueLabel",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 271,
              "column": 6
            },
            "end": {
              "line": 274,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "lazy",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 275,
              "column": 6
            },
            "end": {
              "line": 275,
              "column": 19
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "attrForValue",
          "type": "string",
          "description": "Attribute name for value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 281,
              "column": 6
            },
            "end": {
              "line": 284,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"value\""
        },
        {
          "name": "prompt",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 285,
              "column": 6
            },
            "end": {
              "line": 287,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "attrForLabel",
          "type": "string",
          "description": "Attribute name for label.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 295,
              "column": 6
            },
            "end": {
              "line": 298,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "separator",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 299,
              "column": 6
            },
            "end": {
              "line": 302,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"/\""
        },
        {
          "name": "required",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 303,
              "column": 6
            },
            "end": {
              "line": 306,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "readonly",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 307,
              "column": 6
            },
            "end": {
              "line": 310,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "expandTrigger",
          "type": "string | null | undefined",
          "description": "次级菜单的展开方式(click/hover)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 314,
              "column": 6
            },
            "end": {
              "line": 317,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"click\""
        },
        {
          "name": "showAllLevels",
          "type": "boolean | null | undefined",
          "description": "输入框中是否显示选中值的完整路径, 如果为false则显示最后一层路径",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 321,
              "column": 6
            },
            "end": {
              "line": 324,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "showLabel",
          "type": "string | null | undefined",
          "description": "显示在输入框中的值",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 328,
              "column": 6
            },
            "end": {
              "line": 331,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "__itemsChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 335,
              "column": 2
            },
            "end": {
              "line": 337,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__valueChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 339,
              "column": 2
            },
            "end": {
              "line": 357,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__treeItemsChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 359,
              "column": 2
            },
            "end": {
              "line": 376,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "treeItems"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__setViewClass",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 378,
              "column": 2
            },
            "end": {
              "line": 380,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "select"
            }
          ]
        },
        {
          "name": "_onInputClick",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 382,
              "column": 2
            },
            "end": {
              "line": 386,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__cancelClick",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 388,
              "column": 2
            },
            "end": {
              "line": 390,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__viewItemClick",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 392,
              "column": 2
            },
            "end": {
              "line": 411,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  model\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "close",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 413,
              "column": 2
            },
            "end": {
              "line": 415,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "clear",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 417,
              "column": 2
            },
            "end": {
              "line": 435,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "validate",
          "description": "Validate, true if the select is set to be required and this.selectedValues.length > 0, or else false.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 441,
              "column": 2
            },
            "end": {
              "line": 444,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        },
        {
          "name": "__isHover",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 446,
              "column": 2
            },
            "end": {
              "line": 448,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "expandTrigger"
            }
          ]
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-cascading/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 20,
          "column": 0
        },
        "end": {
          "line": 453,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuCascading",
      "attributes": [
        {
          "name": "label",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 237,
              "column": 6
            },
            "end": {
              "line": 239,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "placeholder",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 240,
              "column": 6
            },
            "end": {
              "line": 243,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "opened",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 244,
              "column": 6
            },
            "end": {
              "line": 248,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "items",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 249,
              "column": 6
            },
            "end": {
              "line": 253,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "tree-items",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 254,
              "column": 6
            },
            "end": {
              "line": 259,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "value",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 260,
              "column": 6
            },
            "end": {
              "line": 265,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "selected-values",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 266,
              "column": 6
            },
            "end": {
              "line": 270,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "value-label",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 271,
              "column": 6
            },
            "end": {
              "line": 274,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "lazy",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 275,
              "column": 6
            },
            "end": {
              "line": 275,
              "column": 19
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "attr-for-value",
          "description": "Attribute name for value.",
          "sourceRange": {
            "start": {
              "line": 281,
              "column": 6
            },
            "end": {
              "line": 284,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "prompt",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 285,
              "column": 6
            },
            "end": {
              "line": 287,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "attr-for-label",
          "description": "Attribute name for label.",
          "sourceRange": {
            "start": {
              "line": 295,
              "column": 6
            },
            "end": {
              "line": 298,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "separator",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 299,
              "column": 6
            },
            "end": {
              "line": 302,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "required",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 303,
              "column": 6
            },
            "end": {
              "line": 306,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "readonly",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 307,
              "column": 6
            },
            "end": {
              "line": 310,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "expand-trigger",
          "description": "次级菜单的展开方式(click/hover)",
          "sourceRange": {
            "start": {
              "line": 314,
              "column": 6
            },
            "end": {
              "line": 317,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "show-all-levels",
          "description": "输入框中是否显示选中值的完整路径, 如果为false则显示最后一层路径",
          "sourceRange": {
            "start": {
              "line": 321,
              "column": 6
            },
            "end": {
              "line": 324,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "show-label",
          "description": "显示在输入框中的值",
          "sourceRange": {
            "start": {
              "line": 328,
              "column": 6
            },
            "end": {
              "line": 331,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "tree-items-changed",
          "description": "Fired when the `treeItems` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "selected-values-changed",
          "description": "Fired when the `selectedValues` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "value-label-changed",
          "description": "Fired when the `valueLabel` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "show-label-changed",
          "description": "Fired when the `showLabel` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-cascading"
    },
    {
      "description": "",
      "summary": "",
      "path": "isu-checkbox-group.js",
      "properties": [
        {
          "name": "label",
          "type": "string",
          "description": "The label of the Checkbox",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 108,
              "column": 6
            },
            "end": {
              "line": 110,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "items",
          "type": "array",
          "description": "Candidates of the checkbox group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 116,
              "column": 6
            },
            "end": {
              "line": 118,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "_items",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 120,
              "column": 6
            },
            "end": {
              "line": 123,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "value",
          "type": "string",
          "description": "The selected value of checkbox group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 129,
              "column": 6
            },
            "end": {
              "line": 132,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "selectedValues",
          "type": "array",
          "description": "The selected value items of checkbox group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 138,
              "column": 6
            },
            "end": {
              "line": 141,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "attrForValue",
          "type": "string",
          "description": "Attribute name for value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 147,
              "column": 6
            },
            "end": {
              "line": 150,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"value\""
        },
        {
          "name": "attrForLabel",
          "type": "string",
          "description": "Attribute name for label.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 156,
              "column": 6
            },
            "end": {
              "line": 159,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true if the selection is required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 166,
              "column": 6
            },
            "end": {
              "line": 169,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "min",
          "type": "number | null | undefined",
          "description": "可选项目数量的限制，最少可选",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 173,
              "column": 6
            },
            "end": {
              "line": 175,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "max",
          "type": "number | null | undefined",
          "description": "可选项目数量的限制，最多可选",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 179,
              "column": 6
            },
            "end": {
              "line": 181,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "prompt",
          "type": "String",
          "description": "The prompt tip to show when input is invalid.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 186,
              "column": 6
            },
            "end": {
              "line": 188,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "__computedInnerItems",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 203,
              "column": 2
            },
            "end": {
              "line": 224,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "items",
              "defaultValue": "[]"
            },
            {
              "name": "value",
              "defaultValue": "\"\""
            }
          ]
        },
        {
          "name": "__checkedChangeHandler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 226,
              "column": 2
            },
            "end": {
              "line": 229,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__valueChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 234,
              "column": 2
            },
            "end": {
              "line": 238,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value",
              "defaultValue": "\"\""
            },
            {
              "name": "items",
              "defaultValue": "[]"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__parseValues",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 243,
              "column": 2
            },
            "end": {
              "line": 245,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value",
              "defaultValue": "\"\""
            }
          ]
        },
        {
          "name": "validate",
          "description": "Validate, true if the select is set to be required and this.selectedValues.length > 0, or else false.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 251,
              "column": 2
            },
            "end": {
              "line": 269,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        }
      ],
      "staticMethods": [],
      "demos": [],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 38,
          "column": 0
        },
        "end": {
          "line": 270,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuCheckboxGroup",
      "attributes": [
        {
          "name": "label",
          "description": "The label of the Checkbox",
          "sourceRange": {
            "start": {
              "line": 108,
              "column": 6
            },
            "end": {
              "line": 110,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "items",
          "description": "Candidates of the checkbox group.",
          "sourceRange": {
            "start": {
              "line": 116,
              "column": 6
            },
            "end": {
              "line": 118,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "value",
          "description": "The selected value of checkbox group.",
          "sourceRange": {
            "start": {
              "line": 129,
              "column": 6
            },
            "end": {
              "line": 132,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "selected-values",
          "description": "The selected value items of checkbox group.",
          "sourceRange": {
            "start": {
              "line": 138,
              "column": 6
            },
            "end": {
              "line": 141,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "attr-for-value",
          "description": "Attribute name for value.",
          "sourceRange": {
            "start": {
              "line": 147,
              "column": 6
            },
            "end": {
              "line": 150,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "attr-for-label",
          "description": "Attribute name for label.",
          "sourceRange": {
            "start": {
              "line": 156,
              "column": 6
            },
            "end": {
              "line": 159,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "required",
          "description": "Set to true if the selection is required.",
          "sourceRange": {
            "start": {
              "line": 166,
              "column": 6
            },
            "end": {
              "line": 169,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "min",
          "description": "可选项目数量的限制，最少可选",
          "sourceRange": {
            "start": {
              "line": 173,
              "column": 6
            },
            "end": {
              "line": 175,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "max",
          "description": "可选项目数量的限制，最多可选",
          "sourceRange": {
            "start": {
              "line": 179,
              "column": 6
            },
            "end": {
              "line": 181,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "prompt",
          "description": "The prompt tip to show when input is invalid.",
          "sourceRange": {
            "start": {
              "line": 186,
              "column": 6
            },
            "end": {
              "line": 188,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "selected-values-changed",
          "description": "Fired when the `selectedValues` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-checkbox-group"
    },
    {
      "description": "",
      "summary": "",
      "path": "isu-dialog.js",
      "properties": [
        {
          "name": "title",
          "type": "string | null | undefined",
          "description": "Title of the dialog",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 134,
              "column": 6
            },
            "end": {
              "line": 136,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "stopAutoDismiss",
          "type": "boolean",
          "description": "Set to True to stop auto dismiss.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 142,
              "column": 6
            },
            "end": {
              "line": 145,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "modal",
          "type": "boolean",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 151,
              "column": 6
            },
            "end": {
              "line": 156,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"modalChanged\"",
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "noCancelOnOutsideClick",
          "type": "boolean",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 162,
              "column": 6
            },
            "end": {
              "line": 166,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "noCancelOnEscKey",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 168,
              "column": 6
            },
            "end": {
              "line": 171,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "opened",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 172,
              "column": 6
            },
            "end": {
              "line": 175,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "top",
          "type": "number | null | undefined",
          "description": "距顶端的距离",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 179,
              "column": 6
            },
            "end": {
              "line": 181,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "left",
          "type": "number | null | undefined",
          "description": "距左边的距离",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 185,
              "column": 6
            },
            "end": {
              "line": 187,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "lockScroll",
          "type": "boolean | null | undefined",
          "description": "是否在 Dialog 出现时将 body 滚动锁定",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 191,
              "column": 6
            },
            "end": {
              "line": 194,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "_positionChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 206,
              "column": 2
            },
            "end": {
              "line": 209,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "top"
            },
            {
              "name": "left"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 211,
              "column": 2
            },
            "end": {
              "line": 243,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "open",
          "description": "Open the dialog.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 248,
              "column": 2
            },
            "end": {
              "line": 252,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "close",
          "description": "Close the dialog.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 257,
              "column": 2
            },
            "end": {
              "line": 261,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "openedChanged",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 263,
              "column": 2
            },
            "end": {
              "line": 265,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  detail: {\n    value\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "modalChanged",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 267,
              "column": 2
            },
            "end": {
              "line": 272,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "modal"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 34,
          "column": 0
        },
        "end": {
          "line": 273,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuDialog",
      "attributes": [
        {
          "name": "title",
          "description": "Title of the dialog",
          "sourceRange": {
            "start": {
              "line": 134,
              "column": 6
            },
            "end": {
              "line": 136,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "stop-auto-dismiss",
          "description": "Set to True to stop auto dismiss.",
          "sourceRange": {
            "start": {
              "line": 142,
              "column": 6
            },
            "end": {
              "line": 145,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "modal",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 151,
              "column": 6
            },
            "end": {
              "line": 156,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "no-cancel-on-outside-click",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 162,
              "column": 6
            },
            "end": {
              "line": 166,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "no-cancel-on-esc-key",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 168,
              "column": 6
            },
            "end": {
              "line": 171,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "opened",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 172,
              "column": 6
            },
            "end": {
              "line": 175,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "top",
          "description": "距顶端的距离",
          "sourceRange": {
            "start": {
              "line": 179,
              "column": 6
            },
            "end": {
              "line": 181,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "left",
          "description": "距左边的距离",
          "sourceRange": {
            "start": {
              "line": 185,
              "column": 6
            },
            "end": {
              "line": 187,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "lock-scroll",
          "description": "是否在 Dialog 出现时将 body 滚动锁定",
          "sourceRange": {
            "start": {
              "line": 191,
              "column": 6
            },
            "end": {
              "line": 194,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "isu-dialog-closed",
          "description": "isu-dialog-closed\nFired when the dialog closed.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-dialog"
    },
    {
      "description": "",
      "summary": "",
      "path": "isu-input.js",
      "properties": [
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "The label of the input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 260,
              "column": 6
            },
            "end": {
              "line": 262,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "string | null | undefined",
          "description": "The placeholder of the input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 266,
              "column": 6
            },
            "end": {
              "line": 268,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "type",
          "type": "string",
          "description": "Bound to input' `type` attribute. [Input types](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 275,
              "column": 6
            },
            "end": {
              "line": 278,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"text\""
        },
        {
          "name": "allowedPattern",
          "type": "string",
          "description": "A regexp to validate user input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 283,
              "column": 6
            },
            "end": {
              "line": 285,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "value",
          "type": "string",
          "description": "Value of the input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 290,
              "column": 6
            },
            "end": {
              "line": 293,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true, if the input is required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 299,
              "column": 6
            },
            "end": {
              "line": 302,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Set to true, if the input is readonly.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 308,
              "column": 6
            },
            "end": {
              "line": 311,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "prefixUnit",
          "type": "string",
          "description": "Prefix unit to show（i.e. ￥$元吨托）",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 316,
              "column": 6
            },
            "end": {
              "line": 318,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "suffixUnit",
          "type": "string",
          "description": "Suffix unit to show（i.e. ￥$元吨托）",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 323,
              "column": 6
            },
            "end": {
              "line": 325,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "minlength",
          "type": "number",
          "description": "The minimum length user can input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 330,
              "column": 6
            },
            "end": {
              "line": 332,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "maxlength",
          "type": "number",
          "description": "The maximum length user can input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 337,
              "column": 6
            },
            "end": {
              "line": 339,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "min",
          "type": "string",
          "description": "The minimum value user can input or choose.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 345,
              "column": 6
            },
            "end": {
              "line": 347,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "max",
          "type": "string",
          "description": "The maximum value user can input or choose",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 352,
              "column": 6
            },
            "end": {
              "line": 354,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "prompt",
          "type": "String",
          "description": "The prompt tip to show when input is invalid.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 360,
              "column": 6
            },
            "end": {
              "line": 362,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "rows",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 364,
              "column": 6
            },
            "end": {
              "line": 366,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "togglePassword",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 368,
              "column": 6
            },
            "end": {
              "line": 371,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "__allowedPatternChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 386,
              "column": 2
            },
            "end": {
              "line": 391,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "doFocus",
          "description": "Set focus to input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 396,
              "column": 2
            },
            "end": {
              "line": 398,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "validate",
          "description": "Validates the input element.\n\nFirst check the iron-input.validate(),\nThen if required = true check (value != undefined && value !== '')\nAnd if allowPattern is defined , use the regexp to test the value",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 409,
              "column": 2
            },
            "end": {
              "line": 422,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        },
        {
          "name": "clear",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 424,
              "column": 2
            },
            "end": {
              "line": 427,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "showPassword",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 429,
              "column": 2
            },
            "end": {
              "line": 432,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "ready",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 434,
              "column": 2
            },
            "end": {
              "line": 452,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 37,
          "column": 0
        },
        "end": {
          "line": 453,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuInput",
      "attributes": [
        {
          "name": "label",
          "description": "The label of the input.",
          "sourceRange": {
            "start": {
              "line": 260,
              "column": 6
            },
            "end": {
              "line": 262,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "placeholder",
          "description": "The placeholder of the input.",
          "sourceRange": {
            "start": {
              "line": 266,
              "column": 6
            },
            "end": {
              "line": 268,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "type",
          "description": "Bound to input' `type` attribute. [Input types](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input)",
          "sourceRange": {
            "start": {
              "line": 275,
              "column": 6
            },
            "end": {
              "line": 278,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "allowed-pattern",
          "description": "A regexp to validate user input.",
          "sourceRange": {
            "start": {
              "line": 283,
              "column": 6
            },
            "end": {
              "line": 285,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "value",
          "description": "Value of the input.",
          "sourceRange": {
            "start": {
              "line": 290,
              "column": 6
            },
            "end": {
              "line": 293,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "required",
          "description": "Set to true, if the input is required.",
          "sourceRange": {
            "start": {
              "line": 299,
              "column": 6
            },
            "end": {
              "line": 302,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the input is readonly.",
          "sourceRange": {
            "start": {
              "line": 308,
              "column": 6
            },
            "end": {
              "line": 311,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "prefix-unit",
          "description": "Prefix unit to show（i.e. ￥$元吨托）",
          "sourceRange": {
            "start": {
              "line": 316,
              "column": 6
            },
            "end": {
              "line": 318,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "suffix-unit",
          "description": "Suffix unit to show（i.e. ￥$元吨托）",
          "sourceRange": {
            "start": {
              "line": 323,
              "column": 6
            },
            "end": {
              "line": 325,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "minlength",
          "description": "The minimum length user can input.",
          "sourceRange": {
            "start": {
              "line": 330,
              "column": 6
            },
            "end": {
              "line": 332,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "maxlength",
          "description": "The maximum length user can input.",
          "sourceRange": {
            "start": {
              "line": 337,
              "column": 6
            },
            "end": {
              "line": 339,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "min",
          "description": "The minimum value user can input or choose.",
          "sourceRange": {
            "start": {
              "line": 345,
              "column": 6
            },
            "end": {
              "line": 347,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "max",
          "description": "The maximum value user can input or choose",
          "sourceRange": {
            "start": {
              "line": 352,
              "column": 6
            },
            "end": {
              "line": 354,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "prompt",
          "description": "The prompt tip to show when input is invalid.",
          "sourceRange": {
            "start": {
              "line": 360,
              "column": 6
            },
            "end": {
              "line": 362,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        },
        {
          "name": "rows",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 364,
              "column": 6
            },
            "end": {
              "line": 366,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "toggle-password",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 368,
              "column": 6
            },
            "end": {
              "line": 371,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-input"
    },
    {
      "description": "`isu-table`\n\nExample:\n```html\n\n```",
      "summary": "",
      "path": "isu-edit-table.js",
      "properties": [
        {
          "name": "data",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 179,
              "column": 6
            },
            "end": {
              "line": 182,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "columnInfos",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 183,
              "column": 6
            },
            "end": {
              "line": 185,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 137,
              "column": 2
            },
            "end": {
              "line": 141,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "delete",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 143,
              "column": 2
            },
            "end": {
              "line": 145,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  model: {\n    rowIndex\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "add",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 147,
              "column": 2
            },
            "end": {
              "line": 149,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  model: {\n    rowIndex\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__appendTmplContent",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 151,
              "column": 2
            },
            "end": {
              "line": 158,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "targetSelector"
            },
            {
              "name": "model"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "columnTag"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "computeContent",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 160,
              "column": 2
            },
            "end": {
              "line": 175,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "column"
            },
            {
              "name": "columnIndex"
            }
          ]
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-table/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 19,
          "column": 0
        },
        "end": {
          "line": 192,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuEditTable",
      "attributes": [
        {
          "name": "data",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 179,
              "column": 6
            },
            "end": {
              "line": 182,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "column-infos",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 183,
              "column": 6
            },
            "end": {
              "line": 185,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-edit-table"
    },
    {
      "description": "`isu-table-column`\n\nExample:\n```html\n\n```",
      "summary": "",
      "path": "isu-edit-table-column.js",
      "properties": [
        {
          "name": "prop",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 21,
              "column": 6
            },
            "end": {
              "line": 23,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 25,
              "column": 6
            },
            "end": {
              "line": 27,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "width",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 29,
              "column": 6
            },
            "end": {
              "line": 31,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "type",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 33,
              "column": 6
            },
            "end": {
              "line": 35,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-table-column/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 14,
          "column": 0
        },
        "end": {
          "line": 47,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuEditTableColumn",
      "attributes": [
        {
          "name": "prop",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 21,
              "column": 6
            },
            "end": {
              "line": 23,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "label",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 25,
              "column": 6
            },
            "end": {
              "line": 27,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "width",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 29,
              "column": 6
            },
            "end": {
              "line": 31,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "type",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 33,
              "column": 6
            },
            "end": {
              "line": 35,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-edit-table-column"
    },
    {
      "description": "### Usage 1:\n\n```html\n<isu-fetch request=\"{{request}}\" response=\"{{response}}\" error=\"{{error}}\"></isu-fetch>\n\n```\n```\nrequest = {\n url: \"/path/to/index.do\",\n method: \"POST\",\n headers: {\n   \"Cache-Control\": \"no-cache\"\n }\n}\n```\n### Usage 2:\n\n```\nconst request = {\n url: \"/path/to/index.do\",\n method: \"POST\",\n headers: {\n   \"Cache-Control\": \"no-cache\"\n }\n};\n\nnew IsuFetch().fetchIt(request)\n.then(res => res.json())\n.then(console.log)\n.catch(console.log);\n```\n### Also, you can mock the responses of your http requests, by following belows:\n#### 1. Import mock_setup.js before the importing of polymer libs.\n\n```html\n<head>\n...\n<script type=\"text/javascript\" src=\"bower_components/isu-elements/utils/mock_setup.js\"></script>\n\npolymer libs import after here\n</head>\n\n```\n#### 2. Create mockData.js\nFor Example:\n```\nimport {data} from \"./data.js\";\n\nMockDataPool.when(\"POST\", \"/path/to/index.do\")\n.withExpectedHeader(\"content-type\", \"application/json;charset=utf-8\")\n.withExpectedHeader(\"Cache-Control\", \"no-cache\")\n.responseWith({status: 200, body: JSON.stringify(data)});\n```\n\n#### 3. Append a searchParam on your request url to open mock mode.\n\nFor example ``http://127.0.0.1:8000/components/isu-elements/demo/isu-fetch/index.html?mock=/your/path/to/mockData.js``,\n\n``/your/path/to/`` is a relative path to index.html. For example, if index.html and mockData.js are located under a same\nfolder, it can be ``index.html?mock=mockData.js`` or ``index.html?mock=./mockData.js``",
      "summary": "",
      "path": "isu-fetch.js",
      "properties": [
        {
          "name": "request",
          "type": "Object",
          "description": "See [Request API](https://developer.mozilla.org/en-US/docs/Web/API/Request)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 78,
              "column": 6
            },
            "end": {
              "line": 80,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "error",
          "type": "{content: *}",
          "description": "Error is undefined when window.__mockEnabled is true",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 86,
              "column": 6
            },
            "end": {
              "line": 89,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "response",
          "type": "Object | null | undefined",
          "description": "See [Response API](https://developer.mozilla.org/en-US/docs/Web/API/Response)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 93,
              "column": 6
            },
            "end": {
              "line": 96,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "handleResponseAs",
          "type": "string",
          "description": "How to handle the response body, the handled result will access as the property 'responseBody'.\njson/text/blob/arrayBuffer",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 104,
              "column": 6
            },
            "end": {
              "line": 107,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"json\""
        },
        {
          "name": "responseBody",
          "type": "{content: *}",
          "description": "Handled response body.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 113,
              "column": 6
            },
            "end": {
              "line": 116,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "__defaultRequest",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 118,
              "column": 6
            },
            "end": {
              "line": 124,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Object"
            }
          },
          "defaultValue": "{\"credentials\":\"include\"}"
        },
        {
          "name": "__defaultHeaders",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 126,
              "column": 6
            },
            "end": {
              "line": 134,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Object"
            }
          },
          "defaultValue": "{\"content-type\":\"application/json;charset=utf-8\"}"
        },
        {
          "name": "__controller",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 136,
              "column": 6
            },
            "end": {
              "line": 138,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "__signal",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 140,
              "column": 6
            },
            "end": {
              "line": 142,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "loading",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 144,
              "column": 6
            },
            "end": {
              "line": 147,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "__getCorrectedRequest",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 171,
              "column": 2
            },
            "end": {
              "line": 175,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "request"
            }
          ]
        },
        {
          "name": "__requestChange",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 177,
              "column": 2
            },
            "end": {
              "line": 180,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "request"
            }
          ]
        },
        {
          "name": "__responseChange",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 182,
              "column": 2
            },
            "end": {
              "line": 197,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "response"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "fetchIt",
          "description": "Fetch you request, if window.__mockEnabled == true, you can get your mock response.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 205,
              "column": 2
            },
            "end": {
              "line": 229,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "request",
              "type": "(Request | object)"
            },
            {
              "name": "option",
              "defaultValue": "{\n  loading: this.loading\n}"
            }
          ],
          "return": {
            "type": "Promise"
          }
        },
        {
          "name": "abort",
          "description": "Abort your request.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 234,
              "column": 2
            },
            "end": {
              "line": 236,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "abortAll",
          "description": "Abort all pending requests.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 241,
              "column": 2
            },
            "end": {
              "line": 243,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "fetchAll",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 248,
              "column": 2
            },
            "end": {
              "line": 250,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "reqArr",
              "defaultValue": "[]"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-fetch/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 70,
          "column": 7
        },
        "end": {
          "line": 251,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuFetch",
      "attributes": [
        {
          "name": "request",
          "description": "See [Request API](https://developer.mozilla.org/en-US/docs/Web/API/Request)",
          "sourceRange": {
            "start": {
              "line": 78,
              "column": 6
            },
            "end": {
              "line": 80,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object"
        },
        {
          "name": "error",
          "description": "Error is undefined when window.__mockEnabled is true",
          "sourceRange": {
            "start": {
              "line": 86,
              "column": 6
            },
            "end": {
              "line": 89,
              "column": 7
            }
          },
          "metadata": {},
          "type": "{content: *}"
        },
        {
          "name": "response",
          "description": "See [Response API](https://developer.mozilla.org/en-US/docs/Web/API/Response)",
          "sourceRange": {
            "start": {
              "line": 93,
              "column": 6
            },
            "end": {
              "line": 96,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "handle-response-as",
          "description": "How to handle the response body, the handled result will access as the property 'responseBody'.\njson/text/blob/arrayBuffer",
          "sourceRange": {
            "start": {
              "line": 104,
              "column": 6
            },
            "end": {
              "line": 107,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "response-body",
          "description": "Handled response body.",
          "sourceRange": {
            "start": {
              "line": 113,
              "column": 6
            },
            "end": {
              "line": 116,
              "column": 7
            }
          },
          "metadata": {},
          "type": "{content: *}"
        },
        {
          "name": "loading",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 144,
              "column": 6
            },
            "end": {
              "line": 147,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "error-changed",
          "description": "Fired when the `error` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "response-changed",
          "description": "Fired when the `response` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "response-body-changed",
          "description": "Fired when the `responseBody` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-fetch"
    },
    {
      "description": "`isu-form`\n\nExample:\n```html\n<isu-form title=\"demo\" action=\"/test.do\">\n<isu-input class=\"form-input\" label=\"公司名称\" name=\"company\"></isu-input>\n<isu-input class=\"form-input\" label=\"电话\" name=\"tel\" type=\"tel\" maxlength=\"11\"></isu-input>\n<isu-input class=\"form-input\" label=\"地址\" name=\"address\"></isu-input>\n<isu-input class=\"form-input\" label=\"姓名\" name=\"name\"></isu-input>\n<isu-input class=\"form-input\" label=\"年龄\" name=\"age\" type=\"number\"></isu-input>\n<isu-button slot=\"form-btn\" form-submit>提交</isu-button>\n</isu-form>\n```\n## Styling\n\nThe following custom properties and mixins are available for styling:\n\n|Custom property | Description | Default|\n|----------------|-------------|----------|\n|`--isu-form-title` | Mixin applied to the head title of form | {}\n|`--isu-form` | Mixin applied to form | {}\n|`--isu-form-button` | Mixin applied to submit button of the form | {}",
      "summary": "",
      "path": "isu-form.js",
      "properties": [
        {
          "name": "title",
          "type": "string | null | undefined",
          "description": "Head title of the form",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 83,
              "column": 6
            },
            "end": {
              "line": 85,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "method",
          "type": "string | null | undefined",
          "description": "Request method,GRT or POST,default POST",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 91,
              "column": 6
            },
            "end": {
              "line": 94,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"POST\""
        },
        {
          "name": "action",
          "type": "string | null | undefined",
          "description": "The URI of a program that processes the form information",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 99,
              "column": 6
            },
            "end": {
              "line": 101,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "enctype",
          "type": "string",
          "description": "Enctype is the MIME type of content that is used to submit the form to the server.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 108,
              "column": 6
            },
            "end": {
              "line": 111,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"application/json;charset=utf-8\""
        },
        {
          "name": "novalidate",
          "type": "boolean",
          "description": "Set to true to indicate that the form is not to be validated when submitted",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 117,
              "column": 6
            },
            "end": {
              "line": 120,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "rule",
          "type": "Object | null | undefined",
          "description": "校验规则",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 124,
              "column": 6
            },
            "end": {
              "line": 126,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_ruleChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 137,
              "column": 2
            },
            "end": {
              "line": 140,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "rule"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 142,
              "column": 2
            },
            "end": {
              "line": 149,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "submit",
          "description": "Summit the form to server.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 154,
              "column": 2
            },
            "end": {
              "line": 176,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_get",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 178,
              "column": 2
            },
            "end": {
              "line": 189,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "reqData"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_post",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 191,
              "column": 2
            },
            "end": {
              "line": 222,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "reqData"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_successHandler",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 224,
              "column": 2
            },
            "end": {
              "line": 233,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "response"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_errorHandler",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 235,
              "column": 2
            },
            "end": {
              "line": 240,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-form/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 37,
          "column": 0
        },
        "end": {
          "line": 241,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuForm",
      "attributes": [
        {
          "name": "title",
          "description": "Head title of the form",
          "sourceRange": {
            "start": {
              "line": 83,
              "column": 6
            },
            "end": {
              "line": 85,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "method",
          "description": "Request method,GRT or POST,default POST",
          "sourceRange": {
            "start": {
              "line": 91,
              "column": 6
            },
            "end": {
              "line": 94,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "action",
          "description": "The URI of a program that processes the form information",
          "sourceRange": {
            "start": {
              "line": 99,
              "column": 6
            },
            "end": {
              "line": 101,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "enctype",
          "description": "Enctype is the MIME type of content that is used to submit the form to the server.",
          "sourceRange": {
            "start": {
              "line": 108,
              "column": 6
            },
            "end": {
              "line": 111,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "novalidate",
          "description": "Set to true to indicate that the form is not to be validated when submitted",
          "sourceRange": {
            "start": {
              "line": 117,
              "column": 6
            },
            "end": {
              "line": 120,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "rule",
          "description": "校验规则",
          "sourceRange": {
            "start": {
              "line": 124,
              "column": 6
            },
            "end": {
              "line": 126,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-form"
    },
    {
      "description": "`isu-grid-layout`\n\nExample:\n```html\n\n```",
      "summary": "",
      "path": "isu-grid-layout.js",
      "properties": [
        {
          "name": "columns",
          "type": "number | null | undefined",
          "description": "列数量",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 88,
              "column": 6
            },
            "end": {
              "line": 91,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "4"
        },
        {
          "name": "columnGap",
          "type": "number | null | undefined",
          "description": "列间隔",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 95,
              "column": 6
            },
            "end": {
              "line": 98,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "20"
        },
        {
          "name": "rowGap",
          "type": "number | null | undefined",
          "description": "行间隔",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 102,
              "column": 6
            },
            "end": {
              "line": 105,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "20"
        },
        {
          "name": "templateColumns",
          "type": "string | null | undefined",
          "description": "部分定宽",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 109,
              "column": 6
            },
            "end": {
              "line": 111,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "accordion",
          "type": "boolean | null | undefined",
          "description": "是否可折叠",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 115,
              "column": 6
            },
            "end": {
              "line": 117,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "opened",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 118,
              "column": 6
            },
            "end": {
              "line": 122,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "title",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 123,
              "column": 6
            },
            "end": {
              "line": 126,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"标题\""
        }
      ],
      "methods": [
        {
          "name": "__columnsChange",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 140,
              "column": 2
            },
            "end": {
              "line": 144,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "columns"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__columnGapChange",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 146,
              "column": 2
            },
            "end": {
              "line": 148,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "columnGap"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__rowGapChange",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 150,
              "column": 2
            },
            "end": {
              "line": 152,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "rowGap"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__templateColumnsChange",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 154,
              "column": 2
            },
            "end": {
              "line": 158,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "templateColumns"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__handler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 160,
              "column": 2
            },
            "end": {
              "line": 162,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 164,
              "column": 2
            },
            "end": {
              "line": 183,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-grid-layout/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 188,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuGridLayout",
      "attributes": [
        {
          "name": "columns",
          "description": "列数量",
          "sourceRange": {
            "start": {
              "line": 88,
              "column": 6
            },
            "end": {
              "line": 91,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "column-gap",
          "description": "列间隔",
          "sourceRange": {
            "start": {
              "line": 95,
              "column": 6
            },
            "end": {
              "line": 98,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "row-gap",
          "description": "行间隔",
          "sourceRange": {
            "start": {
              "line": 102,
              "column": 6
            },
            "end": {
              "line": 105,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "template-columns",
          "description": "部分定宽",
          "sourceRange": {
            "start": {
              "line": 109,
              "column": 6
            },
            "end": {
              "line": 111,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "accordion",
          "description": "是否可折叠",
          "sourceRange": {
            "start": {
              "line": 115,
              "column": 6
            },
            "end": {
              "line": 117,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "opened",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 118,
              "column": 6
            },
            "end": {
              "line": 122,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "title",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 123,
              "column": 6
            },
            "end": {
              "line": 126,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-grid-layout"
    },
    {
      "description": "`isu-tip`\n\nExample:\n```html\n<isu-tip type=\"success\" message=\"success\" id=\"tip\"></isu-tip>\n<isu-button id=\"btn\" onclick=\"tip.open();\">Success</isu-button>\n\n<isu-tip type=\"warn\" message=\"warn\" id=\"tip2\"></isu-tip>\n<isu-button id=\"btn2\" onclick='tip2.open(2000);'>Warn</isu-button>\n\n<isu-tip type=\"error\" message=\"alert\" id=\"tip3\"></isu-tip>\n<isu-button id=\"btn3\" onclick='tip3.open(5000);'>Error</isu-button>\n```",
      "summary": "",
      "path": "isu-tip.js",
      "properties": [
        {
          "name": "message",
          "type": "string | null | undefined",
          "description": "Message of the tip.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 166,
              "column": 6
            },
            "end": {
              "line": 168,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "type",
          "type": "string",
          "description": "Tip type [success | warn | error | confirm | prompt]",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 174,
              "column": 6
            },
            "end": {
              "line": 177,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"success\""
        },
        {
          "name": "remark",
          "type": "string | null | undefined",
          "description": "User input when `type` is `prompt`.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 181,
              "column": 6
            },
            "end": {
              "line": 183,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "_confirmCallback",
          "type": "Object | null | undefined",
          "description": "confirm、prompt信息框确认按钮点击回调函数",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 187,
              "column": 6
            },
            "end": {
              "line": 189,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "_cancelCallback",
          "type": "Object | null | undefined",
          "description": "confirm、prompt信息框取消按钮点击回调函数",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 195,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "duration",
          "type": "number",
          "description": "When `type` is `success`, `warn` or `error`, the tip will disappear after [duration] ms.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 202,
              "column": 6
            },
            "end": {
              "line": 205,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "1500"
        },
        {
          "name": "autoDetach",
          "type": "boolean | null | undefined",
          "description": "Set to true, if you want that `isu-tip` can auto detach from its parentElement.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 210,
              "column": 6
            },
            "end": {
              "line": 213,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "title",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 215,
              "column": 6
            },
            "end": {
              "line": 215,
              "column": 19
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "width",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 216,
              "column": 6
            },
            "end": {
              "line": 216,
              "column": 19
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "height",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 217,
              "column": 6
            },
            "end": {
              "line": 217,
              "column": 20
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "config",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 219,
              "column": 6
            },
            "end": {
              "line": 224,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          },
          "defaultValue": "{}"
        },
        {
          "name": "iconClass",
          "type": "string | null | undefined",
          "description": "自定义图标的类名，会覆盖type",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 228,
              "column": 6
            },
            "end": {
              "line": 228,
              "column": 23
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "__sizeChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 241,
              "column": 2
            },
            "end": {
              "line": 245,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "size"
            },
            {
              "name": "sizeAttr"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__messageChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 247,
              "column": 2
            },
            "end": {
              "line": 249,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "message"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_cancel",
          "description": "Cancel handler",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 253,
              "column": 2
            },
            "end": {
              "line": 256,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_confirm",
          "description": "Confirm handler",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 261,
              "column": 2
            },
            "end": {
              "line": 265,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "open",
          "description": "Open the tip dialog.\n\n3 ways to use the open api:\n\n  - open(duration)\n  - open(confirmCallback)\n  - open(confirmCallback, cancelCallback)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 277,
              "column": 2
            },
            "end": {
              "line": 301,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "args",
              "rest": true
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "close",
          "description": "Hide the tip.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 306,
              "column": 2
            },
            "end": {
              "line": 311,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-tip/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 27,
          "column": 0
        },
        "end": {
          "line": 312,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuTip",
      "attributes": [
        {
          "name": "message",
          "description": "Message of the tip.",
          "sourceRange": {
            "start": {
              "line": 166,
              "column": 6
            },
            "end": {
              "line": 168,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "type",
          "description": "Tip type [success | warn | error | confirm | prompt]",
          "sourceRange": {
            "start": {
              "line": 174,
              "column": 6
            },
            "end": {
              "line": 177,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "remark",
          "description": "User input when `type` is `prompt`.",
          "sourceRange": {
            "start": {
              "line": 181,
              "column": 6
            },
            "end": {
              "line": 183,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "duration",
          "description": "When `type` is `success`, `warn` or `error`, the tip will disappear after [duration] ms.",
          "sourceRange": {
            "start": {
              "line": 202,
              "column": 6
            },
            "end": {
              "line": 205,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "auto-detach",
          "description": "Set to true, if you want that `isu-tip` can auto detach from its parentElement.",
          "sourceRange": {
            "start": {
              "line": 210,
              "column": 6
            },
            "end": {
              "line": 213,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "title",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 215,
              "column": 6
            },
            "end": {
              "line": 215,
              "column": 19
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "width",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 216,
              "column": 6
            },
            "end": {
              "line": 216,
              "column": 19
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "height",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 217,
              "column": 6
            },
            "end": {
              "line": 217,
              "column": 20
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "config",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 219,
              "column": 6
            },
            "end": {
              "line": 224,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "icon-class",
          "description": "自定义图标的类名，会覆盖type",
          "sourceRange": {
            "start": {
              "line": 228,
              "column": 6
            },
            "end": {
              "line": 228,
              "column": 23
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-tip"
    },
    {
      "description": "`isu-image-upload`\n\nExample:\n```html\n<isu-image-upload label=\"上河图\" value=\"{{file}}\"></isu-image-upload>\n<isu-image-upload size-limit=\"1.4M\" value=\"{{file}}\"></isu-image-upload>\n\n```\n## Styling\n\nThe following custom properties and mixins are available for styling:\n\n|Custom property | Description | Default|\n|----------------|-------------|----------|\n|`--isu-image-upload-label` | Mixin applied to the label of image uploader | {}\n|`--isu-image-upload-width` | Mixin applied to width of image uploader | 140px\n|`--isu-image-upload-height` | Mixin applied to height of image uploader | 180px\n|`--isu-image-upload-buttons` | Mixin applied to tool buttons of the uploader | {}",
      "summary": "",
      "path": "isu-image-upload.js",
      "properties": [
        {
          "name": "src",
          "type": "string | null | undefined",
          "description": "The remote uri of image.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 188,
              "column": 6
            },
            "end": {
              "line": 190,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "value",
          "type": "Object | null | undefined",
          "description": "The file object of the image. It will be `undefined` when image is from remote server.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 194,
              "column": 6
            },
            "end": {
              "line": 197,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "The label of the uploader.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 202,
              "column": 6
            },
            "end": {
              "line": 204,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true, if the select is required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 211,
              "column": 6
            },
            "end": {
              "line": 214,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Set to true, if the select is readonly.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 220,
              "column": 6
            },
            "end": {
              "line": 223,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "sizeLimit",
          "type": "string | null | undefined",
          "description": "The max size/length of image allowed to upload.\nSupport pattern:  /^((?:\\d*\\.)?\\d+)([GgMmKk][Bb]?$)/\ni.e 1M, 1Mb, 2Kb",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 231,
              "column": 6
            },
            "end": {
              "line": 233,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "__byteSize",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 235,
              "column": 6
            },
            "end": {
              "line": 238,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "accept",
          "type": "string | null | undefined",
          "description": "Bound to input's `accept` attribute.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 244,
              "column": 6
            },
            "end": {
              "line": 247,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"image/gif, image/jpeg, image/png\""
        },
        {
          "name": "type",
          "type": "string | null | undefined",
          "description": "模式：edit/view",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 251,
              "column": 6
            },
            "end": {
              "line": 254,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"edit\""
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 268,
              "column": 2
            },
            "end": {
              "line": 289,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__isEdit",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 291,
              "column": 2
            },
            "end": {
              "line": 293,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "type"
            }
          ]
        },
        {
          "name": "__srcChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 294,
              "column": 2
            },
            "end": {
              "line": 312,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "src"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__parseSizeLimit",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 314,
              "column": 2
            },
            "end": {
              "line": 334,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "sizeLimit"
            }
          ]
        },
        {
          "name": "_triggerChooseFile",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 336,
              "column": 2
            },
            "end": {
              "line": 339,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_chooseFile",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 341,
              "column": 2
            },
            "end": {
              "line": 344,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__readDataTransfer",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 346,
              "column": 2
            },
            "end": {
              "line": 349,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "dataTransfer"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__loadFileData",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 351,
              "column": 2
            },
            "end": {
              "line": 362,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "blob"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "cancelSelection",
          "description": "Cancel selection of the image.It will clear the `src` and `value`.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 367,
              "column": 2
            },
            "end": {
              "line": 371,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "openViewZoom",
          "description": "Open the view zoom",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 376,
              "column": 2
            },
            "end": {
              "line": 380,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "closeViewZoom",
          "description": "Close the view zoom.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 385,
              "column": 2
            },
            "end": {
              "line": 387,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "validate",
          "description": "Validate, true if the select is set to be required and this.value is a truth-value or else false.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 393,
              "column": 2
            },
            "end": {
              "line": 395,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-image-upload/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 36,
          "column": 0
        },
        "end": {
          "line": 396,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuImageUpload",
      "attributes": [
        {
          "name": "src",
          "description": "The remote uri of image.",
          "sourceRange": {
            "start": {
              "line": 188,
              "column": 6
            },
            "end": {
              "line": 190,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "value",
          "description": "The file object of the image. It will be `undefined` when image is from remote server.",
          "sourceRange": {
            "start": {
              "line": 194,
              "column": 6
            },
            "end": {
              "line": 197,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "label",
          "description": "The label of the uploader.",
          "sourceRange": {
            "start": {
              "line": 202,
              "column": 6
            },
            "end": {
              "line": 204,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "required",
          "description": "Set to true, if the select is required.",
          "sourceRange": {
            "start": {
              "line": 211,
              "column": 6
            },
            "end": {
              "line": 214,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the select is readonly.",
          "sourceRange": {
            "start": {
              "line": 220,
              "column": 6
            },
            "end": {
              "line": 223,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "size-limit",
          "description": "The max size/length of image allowed to upload.\nSupport pattern:  /^((?:\\d*\\.)?\\d+)([GgMmKk][Bb]?$)/\ni.e 1M, 1Mb, 2Kb",
          "sourceRange": {
            "start": {
              "line": 231,
              "column": 6
            },
            "end": {
              "line": 233,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "accept",
          "description": "Bound to input's `accept` attribute.",
          "sourceRange": {
            "start": {
              "line": 244,
              "column": 6
            },
            "end": {
              "line": 247,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "type",
          "description": "模式：edit/view",
          "sourceRange": {
            "start": {
              "line": 251,
              "column": 6
            },
            "end": {
              "line": 254,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-image-upload"
    },
    {
      "description": "`isu-select`\n\nExample:\n```html\n<isu-select label=\"球员\" placeholder=\"选择球员\" items=\"[[items]]\"></isu-select>\n<isu-select label=\"球员\" placeholder=\"选择球员\" multi items=\"[[items]]\" value=\"1,2\"></isu-select>\n\n<script>\nitems = [\n{\"label\": \"梅西\", \"value\": 1},\n{\"label\": \"C罗\", \"value\": 2},\n{\"label\": \"苏亚雷斯\", \"value\": 3},\n{\"label\": \"库蒂尼奥\", \"value\": 4},\n{\"label\": \"特尔斯特根\", \"value\": 5},\n{\"label\": \"保利尼奥\", \"value\": 6},\n{\"label\": \"内马尔\", \"value\": 13}\n];\n```\n## Styling\n\nThe following custom properties and mixins are available for styling:\n\n|Custom property | Description | Default|\n|----------------|-------------|----------|\n|`--isu-label` | Mixin applied to the select label | {}\n|`--isu-select-tag` | Mixin applied to the selected tag | {}\n|`--isu-select-tag-deleter` | Mixin applied to the deleter of each tag| {}\n|`--isu-select-tag-cursor` | Mixin applied to the cursor of the select | {}\n|`--isu-select-dropdown` | Mixin applied to the dropdown snippet of the select | {}",
      "summary": "",
      "path": "isu-select.js",
      "properties": [
        {
          "name": "value",
          "type": "String",
          "description": "The selected value of this select,  if `multi` is true,\nthe value will join with comma ( `selectedValues.map(selected => selected[this.attrForValue]).join(',')` ).",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 316,
              "column": 6
            },
            "end": {
              "line": 319,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "selectedValues",
          "type": "array",
          "description": "The selected value objects of this select.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 325,
              "column": 6
            },
            "end": {
              "line": 328,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "items",
          "type": "array",
          "description": "The candidate selection of this select.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 337,
              "column": 6
            },
            "end": {
              "line": 340,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "prompt",
          "type": "array",
          "description": "The prompt tip to show when input is invalid.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 347,
              "column": 6
            },
            "end": {
              "line": 349,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "selectedItem",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 351,
              "column": 6
            },
            "end": {
              "line": 354,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "label",
          "type": "String",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 361,
              "column": 6
            },
            "end": {
              "line": 363,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "String",
          "description": "The placeholder of the select.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 368,
              "column": 6
            },
            "end": {
              "line": 370,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "multi",
          "type": "boolean",
          "description": "If true, multiple selections are allowed.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 376,
              "column": 6
            },
            "end": {
              "line": 379,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "opened",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 381,
              "column": 6
            },
            "end": {
              "line": 385,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true, if the selection is required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 391,
              "column": 6
            },
            "end": {
              "line": 394,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Set to true, if the select is readonly.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 400,
              "column": 6
            },
            "end": {
              "line": 403,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "attrForValue",
          "type": "string",
          "description": "Attribute name for value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 409,
              "column": 6
            },
            "end": {
              "line": 412,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"value\""
        },
        {
          "name": "attrForLabel",
          "type": "string",
          "description": "Attribute name for label.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 420,
              "column": 6
            },
            "end": {
              "line": 423,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "isFocus",
          "type": "boolean | null | undefined",
          "description": "判断是否需要最后一个虚拟输入框的焦点",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 427,
              "column": 6
            },
            "end": {
              "line": 427,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "multiLimit",
          "type": "number | null | undefined",
          "description": "多选限制选择的个数",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 431,
              "column": 6
            },
            "end": {
              "line": 431,
              "column": 24
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 448,
              "column": 2
            },
            "end": {
              "line": 461,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_onInputClick",
          "description": "点击事件",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 466,
              "column": 2
            },
            "end": {
              "line": 475,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "refreshElemPos",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 477,
              "column": 2
            },
            "end": {
              "line": 493,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_valueChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 495,
              "column": 2
            },
            "end": {
              "line": 511,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            },
            {
              "name": "items",
              "defaultValue": "[]"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_selectedValuesChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 513,
              "column": 2
            },
            "end": {
              "line": 520,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "selectedItemChanged",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 522,
              "column": 2
            },
            "end": {
              "line": 524,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_deleteTag",
          "description": "删除Tag项，事件处理函数",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 529,
              "column": 2
            },
            "end": {
              "line": 533,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_updatePressed",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 539,
              "column": 2
            },
            "end": {
              "line": 559,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "event"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__focusOnLast",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 561,
              "column": 2
            },
            "end": {
              "line": 564,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_displayPlaceholder",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 566,
              "column": 2
            },
            "end": {
              "line": 568,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "display"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "openCollapse",
          "description": "Open collapse.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 573,
              "column": 2
            },
            "end": {
              "line": 576,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "closeCollapse",
          "description": "Close collapse.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 581,
              "column": 2
            },
            "end": {
              "line": 584,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "toggleCollapse",
          "description": "Toggle collapse.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 589,
              "column": 2
            },
            "end": {
              "line": 597,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "doFocus",
          "description": "Set focus to select.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 602,
              "column": 2
            },
            "end": {
              "line": 604,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "validate",
          "description": "Validate, true if the select is set to be required and this.selectedValues.length > 0, or else false.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 610,
              "column": 2
            },
            "end": {
              "line": 612,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-select/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 45,
          "column": 0
        },
        "end": {
          "line": 614,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuSelect",
      "attributes": [
        {
          "name": "value",
          "description": "The selected value of this select,  if `multi` is true,\nthe value will join with comma ( `selectedValues.map(selected => selected[this.attrForValue]).join(',')` ).",
          "sourceRange": {
            "start": {
              "line": 316,
              "column": 6
            },
            "end": {
              "line": 319,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        },
        {
          "name": "selected-values",
          "description": "The selected value objects of this select.",
          "sourceRange": {
            "start": {
              "line": 325,
              "column": 6
            },
            "end": {
              "line": 328,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "items",
          "description": "The candidate selection of this select.",
          "sourceRange": {
            "start": {
              "line": 337,
              "column": 6
            },
            "end": {
              "line": 340,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "prompt",
          "description": "The prompt tip to show when input is invalid.",
          "sourceRange": {
            "start": {
              "line": 347,
              "column": 6
            },
            "end": {
              "line": 349,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "selected-item",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 351,
              "column": 6
            },
            "end": {
              "line": 354,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "label",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 361,
              "column": 6
            },
            "end": {
              "line": 363,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        },
        {
          "name": "placeholder",
          "description": "The placeholder of the select.",
          "sourceRange": {
            "start": {
              "line": 368,
              "column": 6
            },
            "end": {
              "line": 370,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        },
        {
          "name": "multi",
          "description": "If true, multiple selections are allowed.",
          "sourceRange": {
            "start": {
              "line": 376,
              "column": 6
            },
            "end": {
              "line": 379,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "opened",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 381,
              "column": 6
            },
            "end": {
              "line": 385,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "required",
          "description": "Set to true, if the selection is required.",
          "sourceRange": {
            "start": {
              "line": 391,
              "column": 6
            },
            "end": {
              "line": 394,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the select is readonly.",
          "sourceRange": {
            "start": {
              "line": 400,
              "column": 6
            },
            "end": {
              "line": 403,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "attr-for-value",
          "description": "Attribute name for value.",
          "sourceRange": {
            "start": {
              "line": 409,
              "column": 6
            },
            "end": {
              "line": 412,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "attr-for-label",
          "description": "Attribute name for label.",
          "sourceRange": {
            "start": {
              "line": 420,
              "column": 6
            },
            "end": {
              "line": 423,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "is-focus",
          "description": "判断是否需要最后一个虚拟输入框的焦点",
          "sourceRange": {
            "start": {
              "line": 427,
              "column": 6
            },
            "end": {
              "line": 427,
              "column": 22
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "multi-limit",
          "description": "多选限制选择的个数",
          "sourceRange": {
            "start": {
              "line": 431,
              "column": 6
            },
            "end": {
              "line": 431,
              "column": 24
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "selected-values-changed",
          "description": "Fired when the `selectedValues` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "selected-item-changed",
          "description": "Fired when the `selectedItem` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-select"
    },
    {
      "description": "`isu-input-date`\n\nExample:\n```html\n<isu-input-date class=\"input-date\" label=\"日期\"></isu-input-date>\n<isu-input-date class=\"input-date\" label=\"默认value\" value=\"2017-10-26\"></isu-input-date>\n<isu-input-date class=\"input-date\" label=\"默认time\" timestamp=\"1509008130349\"></isu-input-date>\n\n```\n## Styling\n\nThe following custom properties and mixins are available for styling:\n\n|Custom property | Description | Default|\n|----------------|-------------|----------|\n|`--isu-input-date-label` | Mixin applied to the label of input | {}",
      "summary": "",
      "path": "isu-input-date.js",
      "properties": [
        {
          "name": "value",
          "type": "string",
          "description": "The value of the input, return a date string format to `yyyy-MM-dd`.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 393,
              "column": 6
            },
            "end": {
              "line": 396,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "timestamp",
          "type": "number",
          "description": "The timestamp of the date selected.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 401,
              "column": 6
            },
            "end": {
              "line": 404,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "The label of the input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 408,
              "column": 6
            },
            "end": {
              "line": 410,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "string | null | undefined",
          "description": "The placeholder of the input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 414,
              "column": 6
            },
            "end": {
              "line": 416,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true, if the input is required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 422,
              "column": 6
            },
            "end": {
              "line": 425,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Set to true, if the input is readonly.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 431,
              "column": 6
            },
            "end": {
              "line": 434,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "min",
          "type": "string",
          "description": "The minimum date which can be chosen. It should be a string format to `yyyy-MM-dd`.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 439,
              "column": 6
            },
            "end": {
              "line": 441,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "max",
          "type": "string",
          "description": "The maximum date which can be chosen. It should be a string format to `yyyy-MM-dd`.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 446,
              "column": 6
            },
            "end": {
              "line": 448,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "dayList",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 449,
              "column": 6
            },
            "end": {
              "line": 449,
              "column": 20
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "yearList",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 450,
              "column": 6
            },
            "end": {
              "line": 450,
              "column": 21
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "year",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 451,
              "column": 6
            },
            "end": {
              "line": 451,
              "column": 18
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "month",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 452,
              "column": 6
            },
            "end": {
              "line": 452,
              "column": 19
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "date",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 453,
              "column": 6
            },
            "end": {
              "line": 453,
              "column": 18
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "showDashboard",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 454,
              "column": 6
            },
            "end": {
              "line": 457,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "type",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 458,
              "column": 6
            },
            "end": {
              "line": 462,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"date\""
        },
        {
          "name": "rangeList",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 463,
              "column": 6
            },
            "end": {
              "line": 466,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[\"dateRange\",\"datetimeRange\"]"
        },
        {
          "name": "startDate",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 467,
              "column": 6
            },
            "end": {
              "line": 470,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "startTimestamp",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 471,
              "column": 6
            },
            "end": {
              "line": 474,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "endDate",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 475,
              "column": 6
            },
            "end": {
              "line": 478,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "endTimestamp",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 479,
              "column": 6
            },
            "end": {
              "line": 482,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "startDateTimeList",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 483,
              "column": 6
            },
            "end": {
              "line": 483,
              "column": 30
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "endDateTimeList",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 484,
              "column": 6
            },
            "end": {
              "line": 484,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "stepTime",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 485,
              "column": 6
            },
            "end": {
              "line": 488,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "30"
        },
        {
          "name": "startTime",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 489,
              "column": 6
            },
            "end": {
              "line": 492,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"00:00:00\""
        },
        {
          "name": "endTime",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 493,
              "column": 6
            },
            "end": {
              "line": 496,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"23:30:00\""
        },
        {
          "name": "prompt",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 497,
              "column": 6
            },
            "end": {
              "line": 499,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_valueChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 524,
              "column": 2
            },
            "end": {
              "line": 535,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_minmaxChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 537,
              "column": 2
            },
            "end": {
              "line": 539,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_timestampChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 545,
              "column": 2
            },
            "end": {
              "line": 555,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "time"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_getTimestampToDate",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 557,
              "column": 2
            },
            "end": {
              "line": 562,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "timestamp"
            }
          ]
        },
        {
          "name": "_getTimestampTo",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 564,
              "column": 2
            },
            "end": {
              "line": 567,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "timestamp"
            }
          ]
        },
        {
          "name": "_startDateChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 569,
              "column": 2
            },
            "end": {
              "line": 574,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "startDate"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_endDateChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 576,
              "column": 2
            },
            "end": {
              "line": 583,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "endDate"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_startTimestampChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 585,
              "column": 2
            },
            "end": {
              "line": 594,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "startTimestamp"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_endTimestampChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 596,
              "column": 2
            },
            "end": {
              "line": 607,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "endTimestamp"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getTime",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 609,
              "column": 2
            },
            "end": {
              "line": 611,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "date"
            }
          ]
        },
        {
          "name": "getTimeList",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 613,
              "column": 2
            },
            "end": {
              "line": 626,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "date"
            },
            {
              "name": "type"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "clear",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 628,
              "column": 2
            },
            "end": {
              "line": 637,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "selectDate",
          "description": "单个日期class控制",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 642,
              "column": 2
            },
            "end": {
              "line": 647,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            }
          ]
        },
        {
          "name": "optionalClass",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 649,
              "column": 2
            },
            "end": {
              "line": 654,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            }
          ]
        },
        {
          "name": "_preReplenish",
          "description": "前置填充",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 662,
              "column": 2
            },
            "end": {
              "line": 664,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "str",
              "type": "*"
            },
            {
              "name": "totalLen",
              "type": "number",
              "defaultValue": "0",
              "description": "填充后的长度"
            },
            {
              "name": "replenisher",
              "type": "string",
              "defaultValue": "\"\"",
              "description": "填充的字符"
            }
          ]
        },
        {
          "name": "doFocus",
          "description": "Set focus to input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 669,
              "column": 2
            },
            "end": {
              "line": 671,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "openDialog",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 673,
              "column": 2
            },
            "end": {
              "line": 681,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "yearOpen",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 683,
              "column": 2
            },
            "end": {
              "line": 691,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "monthOpen",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 693,
              "column": 2
            },
            "end": {
              "line": 702,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getDayList",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 704,
              "column": 2
            },
            "end": {
              "line": 741,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "yearMinus",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 743,
              "column": 2
            },
            "end": {
              "line": 748,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "yearAdd",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 750,
              "column": 2
            },
            "end": {
              "line": 755,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "optionalClassYM",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 757,
              "column": 2
            },
            "end": {
              "line": 769,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            },
            {
              "name": "year"
            },
            {
              "name": "month"
            }
          ]
        },
        {
          "name": "monthMinus",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 771,
              "column": 2
            },
            "end": {
              "line": 780,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "monthAdd",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 782,
              "column": 2
            },
            "end": {
              "line": 791,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "selectDay",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 793,
              "column": 2
            },
            "end": {
              "line": 810,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  model: {\n    item,\n    index\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "clearDate",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 812,
              "column": 2
            },
            "end": {
              "line": 820,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "selectYearOrMonth",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 822,
              "column": 2
            },
            "end": {
              "line": 833,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  model: {\n    item\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "selectToday",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 835,
              "column": 2
            },
            "end": {
              "line": 847,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "setTimestamp",
          "description": "赋值",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 850,
              "column": 2
            },
            "end": {
              "line": 876,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "date"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "validate",
          "description": "Validates the input element.\n\nFirst check the iron-input.validate(),\nThen if required = true check (value != undefined && value !== '')\nAnd if allowPattern is defined , use the regexp to test the value",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 887,
              "column": 2
            },
            "end": {
              "line": 899,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-input-date/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 32,
          "column": 0
        },
        "end": {
          "line": 900,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuInputDate",
      "attributes": [
        {
          "name": "value",
          "description": "The value of the input, return a date string format to `yyyy-MM-dd`.",
          "sourceRange": {
            "start": {
              "line": 393,
              "column": 6
            },
            "end": {
              "line": 396,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "timestamp",
          "description": "The timestamp of the date selected.",
          "sourceRange": {
            "start": {
              "line": 401,
              "column": 6
            },
            "end": {
              "line": 404,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "label",
          "description": "The label of the input.",
          "sourceRange": {
            "start": {
              "line": 408,
              "column": 6
            },
            "end": {
              "line": 410,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "placeholder",
          "description": "The placeholder of the input.",
          "sourceRange": {
            "start": {
              "line": 414,
              "column": 6
            },
            "end": {
              "line": 416,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "required",
          "description": "Set to true, if the input is required.",
          "sourceRange": {
            "start": {
              "line": 422,
              "column": 6
            },
            "end": {
              "line": 425,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the input is readonly.",
          "sourceRange": {
            "start": {
              "line": 431,
              "column": 6
            },
            "end": {
              "line": 434,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "min",
          "description": "The minimum date which can be chosen. It should be a string format to `yyyy-MM-dd`.",
          "sourceRange": {
            "start": {
              "line": 439,
              "column": 6
            },
            "end": {
              "line": 441,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "max",
          "description": "The maximum date which can be chosen. It should be a string format to `yyyy-MM-dd`.",
          "sourceRange": {
            "start": {
              "line": 446,
              "column": 6
            },
            "end": {
              "line": 448,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "day-list",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 449,
              "column": 6
            },
            "end": {
              "line": 449,
              "column": 20
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "year-list",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 450,
              "column": 6
            },
            "end": {
              "line": 450,
              "column": 21
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "year",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 451,
              "column": 6
            },
            "end": {
              "line": 451,
              "column": 18
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "month",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 452,
              "column": 6
            },
            "end": {
              "line": 452,
              "column": 19
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "date",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 453,
              "column": 6
            },
            "end": {
              "line": 453,
              "column": 18
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "show-dashboard",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 454,
              "column": 6
            },
            "end": {
              "line": 457,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "type",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 458,
              "column": 6
            },
            "end": {
              "line": 462,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "range-list",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 463,
              "column": 6
            },
            "end": {
              "line": 466,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "start-date",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 467,
              "column": 6
            },
            "end": {
              "line": 470,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "start-timestamp",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 471,
              "column": 6
            },
            "end": {
              "line": 474,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "end-date",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 475,
              "column": 6
            },
            "end": {
              "line": 478,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "end-timestamp",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 479,
              "column": 6
            },
            "end": {
              "line": 482,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "start-date-time-list",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 483,
              "column": 6
            },
            "end": {
              "line": 483,
              "column": 30
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "end-date-time-list",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 484,
              "column": 6
            },
            "end": {
              "line": 484,
              "column": 28
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "step-time",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 485,
              "column": 6
            },
            "end": {
              "line": 488,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "start-time",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 489,
              "column": 6
            },
            "end": {
              "line": 492,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "end-time",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 493,
              "column": 6
            },
            "end": {
              "line": 496,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "prompt",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 497,
              "column": 6
            },
            "end": {
              "line": 499,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "timestamp-changed",
          "description": "Fired when the `timestamp` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "start-date-changed",
          "description": "Fired when the `startDate` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "start-timestamp-changed",
          "description": "Fired when the `startTimestamp` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "end-date-changed",
          "description": "Fired when the `endDate` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "end-timestamp-changed",
          "description": "Fired when the `endTimestamp` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-input-date"
    },
    {
      "description": "",
      "summary": "",
      "path": "isu-input-datetime.js",
      "properties": [
        {
          "name": "value",
          "type": "string | null | undefined",
          "description": "The value of the input, return a date string format to `yyyy-MM-ddTHH:mm`. i.e. 2017-10-26T12:20",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 67,
              "column": 6
            },
            "end": {
              "line": 70,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "timestamp",
          "type": "number | null | undefined",
          "description": "时间戳",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 74,
              "column": 6
            },
            "end": {
              "line": 77,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "The label of the input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 81,
              "column": 6
            },
            "end": {
              "line": 83,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "string | null | undefined",
          "description": "The placeholder of the input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 87,
              "column": 6
            },
            "end": {
              "line": 89,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true, if the input is required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 95,
              "column": 6
            },
            "end": {
              "line": 98,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Set to true, if the input is readonly.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 104,
              "column": 6
            },
            "end": {
              "line": 107,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "min",
          "type": "string",
          "description": "The minimum datetime which can be chosen. It should be a string format to `yyyy-MM-ddTHH:mm`.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 112,
              "column": 6
            },
            "end": {
              "line": 114,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "max",
          "type": "string",
          "description": "The maximum datetime which can be chosen. It should be a string format to `yyyy-MM-ddTHH:mm`.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 119,
              "column": 6
            },
            "end": {
              "line": 121,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_valueChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 2
            },
            "end": {
              "line": 146,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_timestampChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 152,
              "column": 2
            },
            "end": {
              "line": 159,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "timestamp"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "doFocus",
          "description": "Set focus to input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 164,
              "column": 2
            },
            "end": {
              "line": 166,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "validate",
          "description": "Validates the input element.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 172,
              "column": 2
            },
            "end": {
              "line": 174,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        }
      ],
      "staticMethods": [],
      "demos": [],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 31,
          "column": 0
        },
        "end": {
          "line": 175,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuInputDatetime",
      "attributes": [
        {
          "name": "value",
          "description": "The value of the input, return a date string format to `yyyy-MM-ddTHH:mm`. i.e. 2017-10-26T12:20",
          "sourceRange": {
            "start": {
              "line": 67,
              "column": 6
            },
            "end": {
              "line": 70,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "timestamp",
          "description": "时间戳",
          "sourceRange": {
            "start": {
              "line": 74,
              "column": 6
            },
            "end": {
              "line": 77,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "label",
          "description": "The label of the input.",
          "sourceRange": {
            "start": {
              "line": 81,
              "column": 6
            },
            "end": {
              "line": 83,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "placeholder",
          "description": "The placeholder of the input.",
          "sourceRange": {
            "start": {
              "line": 87,
              "column": 6
            },
            "end": {
              "line": 89,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "required",
          "description": "Set to true, if the input is required.",
          "sourceRange": {
            "start": {
              "line": 95,
              "column": 6
            },
            "end": {
              "line": 98,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the input is readonly.",
          "sourceRange": {
            "start": {
              "line": 104,
              "column": 6
            },
            "end": {
              "line": 107,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "min",
          "description": "The minimum datetime which can be chosen. It should be a string format to `yyyy-MM-ddTHH:mm`.",
          "sourceRange": {
            "start": {
              "line": 112,
              "column": 6
            },
            "end": {
              "line": 114,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "max",
          "description": "The maximum datetime which can be chosen. It should be a string format to `yyyy-MM-ddTHH:mm`.",
          "sourceRange": {
            "start": {
              "line": 119,
              "column": 6
            },
            "end": {
              "line": 121,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "timestamp-changed",
          "description": "Fired when the `timestamp` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-input-datetime"
    },
    {
      "description": "`isu-input-jedate`\n\nExample:\n```html\n\n```",
      "summary": "",
      "path": "isu-input-jedate.js",
      "properties": [
        {
          "name": "value",
          "type": "string",
          "description": "The value of the input, return a date string format to `yyyy-MM-dd`.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 106,
              "column": 6
            },
            "end": {
              "line": 109,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "bindData",
          "type": "Number",
          "description": "The value of the input, return a timestamp",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 114,
              "column": 6
            },
            "end": {
              "line": 117,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "The label of the input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 121,
              "column": 6
            },
            "end": {
              "line": 123,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "string | null | undefined",
          "description": "The placeholder of the input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 127,
              "column": 6
            },
            "end": {
              "line": 130,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"请输入\""
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true, if the input is required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 136,
              "column": 6
            },
            "end": {
              "line": 139,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Set to true, if the input is readonly.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 145,
              "column": 6
            },
            "end": {
              "line": 148,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "min",
          "type": "string",
          "description": "The minimum date which can be chosen. It should be a string format to `YYYY-MM-DD`.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 153,
              "column": 6
            },
            "end": {
              "line": 155,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "max",
          "type": "string",
          "description": "The maximum date which can be chosen. It should be a string format to `YYYY-MM-DD`.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 160,
              "column": 6
            },
            "end": {
              "line": 162,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "format",
          "type": "string | null | undefined",
          "description": "日期格式",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 166,
              "column": 6
            },
            "end": {
              "line": 169,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"YYYY-MM-DD\""
        },
        {
          "name": "multiPane",
          "type": "boolean | null | undefined",
          "description": "是否为双面板，为false是展示双面板",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 173,
              "column": 6
            },
            "end": {
              "line": 176,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "isShow",
          "type": "boolean | null | undefined",
          "description": "是否显示为固定日历，为false的时候固定显示",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 183,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "onClose",
          "type": "boolean | null | undefined",
          "description": "是否为选中日期后关闭弹层，为false时选中日期后关闭弹层",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 187,
              "column": 6
            },
            "end": {
              "line": 190,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "range",
          "type": "string | null | undefined",
          "description": "如果不为空且不为false，则会进行区域选择，例如 \" 至 \"，\" ~ \"，\" To \"",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 194,
              "column": 6
            },
            "end": {
              "line": 197,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "trigger",
          "type": "string | null | undefined",
          "description": "是否为内部触发事件，默认为内部触发事件",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 201,
              "column": 6
            },
            "end": {
              "line": 204,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"click\""
        },
        {
          "name": "position",
          "type": "Array | null | undefined",
          "description": "自定义日期弹层的偏移位置，长度为0，弹层自动查找位置",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 208,
              "column": 6
            },
            "end": {
              "line": 211,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "isinitVal",
          "type": "boolean | null | undefined",
          "description": "是否初始化时间，默认不初始化时间",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 215,
              "column": 6
            },
            "end": {
              "line": 218,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "initDate",
          "type": "Object | null | undefined",
          "description": "初始化时间，加减 天 时 分",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 222,
              "column": 6
            },
            "end": {
              "line": 225,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          },
          "defaultValue": "{}"
        },
        {
          "name": "isTime",
          "type": "boolean | null | undefined",
          "description": "是否开启时间选择",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 229,
              "column": 6
            },
            "end": {
              "line": 232,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "isClear",
          "type": "boolean | null | undefined",
          "description": "是否显示清空按钮",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 236,
              "column": 6
            },
            "end": {
              "line": 239,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "isToday",
          "type": "boolean | null | undefined",
          "description": "是否显示今天或本月按钮",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 243,
              "column": 6
            },
            "end": {
              "line": 246,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "isYes",
          "type": "boolean | null | undefined",
          "description": "是否显示确定按钮",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 250,
              "column": 6
            },
            "end": {
              "line": 253,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "festival",
          "type": "boolean | null | undefined",
          "description": "是否显示农历节日",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 257,
              "column": 6
            },
            "end": {
              "line": 260,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "valiDate",
          "type": "Array | null | undefined",
          "description": "有效日期与非有效日期，例如 [\"0[4-7]$,1[1-5]$,2[58]$\",true]",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 264,
              "column": 6
            },
            "end": {
              "line": 267,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "fixed",
          "type": "boolean | null | undefined",
          "description": "是否静止定位，为true时定位在输入框，为false时居中定位",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 271,
              "column": 6
            },
            "end": {
              "line": 274,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "theme",
          "type": "Object | null | undefined",
          "description": "自定义主题色",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 278,
              "column": 6
            },
            "end": {
              "line": 281,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          },
          "defaultValue": "{}"
        },
        {
          "name": "language",
          "type": "string | null | undefined",
          "description": "语言，'en'/'cn'",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 285,
              "column": 6
            },
            "end": {
              "line": 288,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"cn\""
        },
        {
          "name": "method",
          "type": "Object | null | undefined",
          "description": "自定义方法",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 292,
              "column": 6
            },
            "end": {
              "line": 295,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          },
          "defaultValue": "{}"
        },
        {
          "name": "before",
          "type": "Object | null | undefined",
          "description": "在界面加载之前执行",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 299,
              "column": 6
            },
            "end": {
              "line": 302,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          },
          "defaultValue": "null"
        },
        {
          "name": "succeed",
          "type": "Object | null | undefined",
          "description": "在界面加载之后执行",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 306,
              "column": 6
            },
            "end": {
              "line": 309,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          },
          "defaultValue": "null"
        },
        {
          "name": "zIndex",
          "type": "number | null | undefined",
          "description": "弹出层的层级高度",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 313,
              "column": 6
            },
            "end": {
              "line": 316,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "2099"
        },
        {
          "name": "shortcut",
          "type": "Array | null | undefined",
          "description": "日期选择的快捷方式",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 320,
              "column": 6
            },
            "end": {
              "line": 323,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "selectedItems",
          "type": "Array | null | undefined",
          "description": "选中的值的集合，如果有范围时集合里有两个值，没有范围则只有一个值，都是时间戳",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 327,
              "column": 6
            },
            "end": {
              "line": 330,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "id",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 331,
              "column": 6
            },
            "end": {
              "line": 334,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "dateArray",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 335,
              "column": 6
            },
            "end": {
              "line": 338,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "prompt",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 339,
              "column": 6
            },
            "end": {
              "line": 341,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_valueChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 358,
              "column": 2
            },
            "end": {
              "line": 371,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "donefun",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 373,
              "column": 2
            },
            "end": {
              "line": 376,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "clearfun",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 378,
              "column": 2
            },
            "end": {
              "line": 381,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "before",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 383,
              "column": 2
            },
            "end": {
              "line": 384,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "succeed",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 386,
              "column": 2
            },
            "end": {
              "line": 387,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_idChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 389,
              "column": 2
            },
            "end": {
              "line": 441,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "id"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "validate",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 443,
              "column": 2
            },
            "end": {
              "line": 446,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-input-date/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 25,
          "column": 0
        },
        "end": {
          "line": 447,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "H2InputDate",
      "attributes": [
        {
          "name": "value",
          "description": "The value of the input, return a date string format to `yyyy-MM-dd`.",
          "sourceRange": {
            "start": {
              "line": 106,
              "column": 6
            },
            "end": {
              "line": 109,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "bind-data",
          "description": "The value of the input, return a timestamp",
          "sourceRange": {
            "start": {
              "line": 114,
              "column": 6
            },
            "end": {
              "line": 117,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Number"
        },
        {
          "name": "label",
          "description": "The label of the input.",
          "sourceRange": {
            "start": {
              "line": 121,
              "column": 6
            },
            "end": {
              "line": 123,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "placeholder",
          "description": "The placeholder of the input.",
          "sourceRange": {
            "start": {
              "line": 127,
              "column": 6
            },
            "end": {
              "line": 130,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "required",
          "description": "Set to true, if the input is required.",
          "sourceRange": {
            "start": {
              "line": 136,
              "column": 6
            },
            "end": {
              "line": 139,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the input is readonly.",
          "sourceRange": {
            "start": {
              "line": 145,
              "column": 6
            },
            "end": {
              "line": 148,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "min",
          "description": "The minimum date which can be chosen. It should be a string format to `YYYY-MM-DD`.",
          "sourceRange": {
            "start": {
              "line": 153,
              "column": 6
            },
            "end": {
              "line": 155,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "max",
          "description": "The maximum date which can be chosen. It should be a string format to `YYYY-MM-DD`.",
          "sourceRange": {
            "start": {
              "line": 160,
              "column": 6
            },
            "end": {
              "line": 162,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "format",
          "description": "日期格式",
          "sourceRange": {
            "start": {
              "line": 166,
              "column": 6
            },
            "end": {
              "line": 169,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "multi-pane",
          "description": "是否为双面板，为false是展示双面板",
          "sourceRange": {
            "start": {
              "line": 173,
              "column": 6
            },
            "end": {
              "line": 176,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "is-show",
          "description": "是否显示为固定日历，为false的时候固定显示",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 183,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "on-close",
          "description": "是否为选中日期后关闭弹层，为false时选中日期后关闭弹层",
          "sourceRange": {
            "start": {
              "line": 187,
              "column": 6
            },
            "end": {
              "line": 190,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "range",
          "description": "如果不为空且不为false，则会进行区域选择，例如 \" 至 \"，\" ~ \"，\" To \"",
          "sourceRange": {
            "start": {
              "line": 194,
              "column": 6
            },
            "end": {
              "line": 197,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "trigger",
          "description": "是否为内部触发事件，默认为内部触发事件",
          "sourceRange": {
            "start": {
              "line": 201,
              "column": 6
            },
            "end": {
              "line": 204,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "position",
          "description": "自定义日期弹层的偏移位置，长度为0，弹层自动查找位置",
          "sourceRange": {
            "start": {
              "line": 208,
              "column": 6
            },
            "end": {
              "line": 211,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "isinit-val",
          "description": "是否初始化时间，默认不初始化时间",
          "sourceRange": {
            "start": {
              "line": 215,
              "column": 6
            },
            "end": {
              "line": 218,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "init-date",
          "description": "初始化时间，加减 天 时 分",
          "sourceRange": {
            "start": {
              "line": 222,
              "column": 6
            },
            "end": {
              "line": 225,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "is-time",
          "description": "是否开启时间选择",
          "sourceRange": {
            "start": {
              "line": 229,
              "column": 6
            },
            "end": {
              "line": 232,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "is-clear",
          "description": "是否显示清空按钮",
          "sourceRange": {
            "start": {
              "line": 236,
              "column": 6
            },
            "end": {
              "line": 239,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "is-today",
          "description": "是否显示今天或本月按钮",
          "sourceRange": {
            "start": {
              "line": 243,
              "column": 6
            },
            "end": {
              "line": 246,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "is-yes",
          "description": "是否显示确定按钮",
          "sourceRange": {
            "start": {
              "line": 250,
              "column": 6
            },
            "end": {
              "line": 253,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "festival",
          "description": "是否显示农历节日",
          "sourceRange": {
            "start": {
              "line": 257,
              "column": 6
            },
            "end": {
              "line": 260,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "vali-date",
          "description": "有效日期与非有效日期，例如 [\"0[4-7]$,1[1-5]$,2[58]$\",true]",
          "sourceRange": {
            "start": {
              "line": 264,
              "column": 6
            },
            "end": {
              "line": 267,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "fixed",
          "description": "是否静止定位，为true时定位在输入框，为false时居中定位",
          "sourceRange": {
            "start": {
              "line": 271,
              "column": 6
            },
            "end": {
              "line": 274,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "theme",
          "description": "自定义主题色",
          "sourceRange": {
            "start": {
              "line": 278,
              "column": 6
            },
            "end": {
              "line": 281,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "language",
          "description": "语言，'en'/'cn'",
          "sourceRange": {
            "start": {
              "line": 285,
              "column": 6
            },
            "end": {
              "line": 288,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "method",
          "description": "自定义方法",
          "sourceRange": {
            "start": {
              "line": 292,
              "column": 6
            },
            "end": {
              "line": 295,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "before",
          "description": "在界面加载之前执行",
          "sourceRange": {
            "start": {
              "line": 299,
              "column": 6
            },
            "end": {
              "line": 302,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "succeed",
          "description": "在界面加载之后执行",
          "sourceRange": {
            "start": {
              "line": 306,
              "column": 6
            },
            "end": {
              "line": 309,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "z-index",
          "description": "弹出层的层级高度",
          "sourceRange": {
            "start": {
              "line": 313,
              "column": 6
            },
            "end": {
              "line": 316,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "shortcut",
          "description": "日期选择的快捷方式",
          "sourceRange": {
            "start": {
              "line": 320,
              "column": 6
            },
            "end": {
              "line": 323,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "selected-items",
          "description": "选中的值的集合，如果有范围时集合里有两个值，没有范围则只有一个值，都是时间戳",
          "sourceRange": {
            "start": {
              "line": 327,
              "column": 6
            },
            "end": {
              "line": 330,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "id",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 331,
              "column": 6
            },
            "end": {
              "line": 334,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "date-array",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 335,
              "column": 6
            },
            "end": {
              "line": 338,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "prompt",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 339,
              "column": 6
            },
            "end": {
              "line": 341,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "bind-data-changed",
          "description": "Fired when the `bindData` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-input-jedate"
    },
    {
      "description": "`isu-input-number`\n\nExample:\n```html\n <div>\n   <h4>Basic</h4>\n   <isu-input-number id=\"inputNumber\"></isu-input-number>\n   <h4>步长，相关联label</h4>\n   <isu-input-number id=\"inputNumber2\" step=\"0.01\" label=\"数量\"></isu-input-number>\n   <h4>最大输入值，最小输入值</h4>\n   <isu-input-number id=\"inputNumber3\" min=\"0\" max=\"10\"></isu-input-number>\n   <h4>禁用</h4>\n   <isu-input-number id=\"inputNumber4\" disabled></isu-input-number>\n   <h4>不要两个控制按钮</h4>\n   <isu-input-number id=\"inputNumber5\" no-controls></isu-input-number>\n   <h4>精度为2</h4>\n   <isu-input-number id=\"inputNumber6\" precision=\"2\" step=\"0.1\"></isu-input-number>\n </div>\n```\n\n### Styling\n\n`<isu-button>` provides the following custom properties and mixins\nfor styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--isu-label` | Mixin applied to the button | {}",
      "summary": "",
      "path": "isu-input-number.js",
      "properties": [
        {
          "name": "value",
          "type": "number | null | undefined",
          "description": "The value of the input number",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 128,
              "column": 6
            },
            "end": {
              "line": 132,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          },
          "defaultValue": "1"
        },
        {
          "name": "placeholder",
          "type": "string | null | undefined",
          "description": "placeholder",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 6
            },
            "end": {
              "line": 142,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"请输入\""
        },
        {
          "name": "min",
          "type": "number | null | undefined",
          "description": "minimum input number",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 149,
              "column": 6
            },
            "end": {
              "line": 149,
              "column": 17
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "max",
          "type": "number | null | undefined",
          "description": "maximum input number",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 156,
              "column": 6
            },
            "end": {
              "line": 156,
              "column": 17
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "step",
          "type": "number | null | undefined",
          "description": "Add and subtract steps",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 163,
              "column": 6
            },
            "end": {
              "line": 166,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "1"
        },
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "title before input number",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 173,
              "column": 6
            },
            "end": {
              "line": 173,
              "column": 19
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "disabled",
          "type": "boolean | null | undefined",
          "description": "is disabled",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 183,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "noControls",
          "type": "boolean | null | undefined",
          "description": "Whether to display the control button or not",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 190,
              "column": 6
            },
            "end": {
              "line": 193,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "precision",
          "type": "number | null | undefined",
          "description": "The precision of the input number",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 200,
              "column": 6
            },
            "end": {
              "line": 200,
              "column": 23
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "stepStrictly",
          "type": "boolean | null | undefined",
          "description": "Can only enter multiples of step, step can not be null",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 207,
              "column": 6
            },
            "end": {
              "line": 210,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 222,
              "column": 2
            },
            "end": {
              "line": 234,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_valueChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 236,
              "column": 2
            },
            "end": {
              "line": 253,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_precisionChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 254,
              "column": 2
            },
            "end": {
              "line": 258,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "precision"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_noControlsChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 261,
              "column": 2
            },
            "end": {
              "line": 266,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "noControls"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "minus",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 268,
              "column": 2
            },
            "end": {
              "line": 270,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "add",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 272,
              "column": 2
            },
            "end": {
              "line": 274,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "calculate",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 276,
              "column": 2
            },
            "end": {
              "line": 292,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "oldValue"
            },
            {
              "name": "step"
            },
            {
              "name": "operator"
            }
          ]
        },
        {
          "name": "checkNum",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 294,
              "column": 2
            },
            "end": {
              "line": 303,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-input-number/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 44,
          "column": 0
        },
        "end": {
          "line": 304,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuInputNumber",
      "attributes": [
        {
          "name": "value",
          "description": "The value of the input number",
          "sourceRange": {
            "start": {
              "line": 128,
              "column": 6
            },
            "end": {
              "line": 132,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "placeholder",
          "description": "placeholder",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 6
            },
            "end": {
              "line": 142,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "min",
          "description": "minimum input number",
          "sourceRange": {
            "start": {
              "line": 149,
              "column": 6
            },
            "end": {
              "line": 149,
              "column": 17
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "max",
          "description": "maximum input number",
          "sourceRange": {
            "start": {
              "line": 156,
              "column": 6
            },
            "end": {
              "line": 156,
              "column": 17
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "step",
          "description": "Add and subtract steps",
          "sourceRange": {
            "start": {
              "line": 163,
              "column": 6
            },
            "end": {
              "line": 166,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "label",
          "description": "title before input number",
          "sourceRange": {
            "start": {
              "line": 173,
              "column": 6
            },
            "end": {
              "line": 173,
              "column": 19
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "disabled",
          "description": "is disabled",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 183,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "no-controls",
          "description": "Whether to display the control button or not",
          "sourceRange": {
            "start": {
              "line": 190,
              "column": 6
            },
            "end": {
              "line": 193,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "precision",
          "description": "The precision of the input number",
          "sourceRange": {
            "start": {
              "line": 200,
              "column": 6
            },
            "end": {
              "line": 200,
              "column": 23
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "step-strictly",
          "description": "Can only enter multiples of step, step can not be null",
          "sourceRange": {
            "start": {
              "line": 207,
              "column": 6
            },
            "end": {
              "line": 210,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-input-number"
    },
    {
      "description": "FIXME(polymer-modulizer): the above comments were extracted\n  from HTML and may be out of place here. Review them and\n  then delete this comment!",
      "summary": "",
      "path": "isu-mask.js",
      "properties": [
        {
          "name": "value",
          "type": "string | null | undefined",
          "description": "The value of the slotted node.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 211,
              "column": 6
            },
            "end": {
              "line": 214,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "_valueObj",
          "type": "Object | null | undefined",
          "description": "当前的数据",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 218,
              "column": 6
            },
            "end": {
              "line": 220,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "_lastValueObj",
          "type": "Object | null | undefined",
          "description": "最近一次保存的数据",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 224,
              "column": 6
            },
            "end": {
              "line": 226,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "_viewValue",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 228,
              "column": 6
            },
            "end": {
              "line": 230,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "The label of the mask.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 235,
              "column": 6
            },
            "end": {
              "line": 237,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "string | null | undefined",
          "description": "The placeholder of the mask.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 241,
              "column": 6
            },
            "end": {
              "line": 243,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true, if the selection is required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 249,
              "column": 6
            },
            "end": {
              "line": 252,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "attrForDisplay",
          "type": "string | null | undefined",
          "description": "The attribute name of the item to display on mask.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 256,
              "column": 6
            },
            "end": {
              "line": 259,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "_slotNode",
          "type": "Object | null | undefined",
          "description": "slot插槽中的组件",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 263,
              "column": 6
            },
            "end": {
              "line": 265,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "ready",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 277,
              "column": 2
            },
            "end": {
              "line": 331,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_displayEditField",
          "description": "显示编辑区域",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 337,
              "column": 2
            },
            "end": {
              "line": 343,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "display"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__initValueOfSlottedElement",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 345,
              "column": 2
            },
            "end": {
              "line": 351,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__getValueOfSlottedElement",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 353,
              "column": 2
            },
            "end": {
              "line": 361,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__resetValueOfSlottedElement",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 363,
              "column": 2
            },
            "end": {
              "line": 366,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__updateViewer",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 368,
              "column": 2
            },
            "end": {
              "line": 376,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_submit",
          "description": "提交操作",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 382,
              "column": 2
            },
            "end": {
              "line": 387,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_cancel",
          "description": "取消操作",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 393,
              "column": 2
            },
            "end": {
              "line": 398,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 35,
          "column": 0
        },
        "end": {
          "line": 399,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuMask",
      "attributes": [
        {
          "name": "value",
          "description": "The value of the slotted node.",
          "sourceRange": {
            "start": {
              "line": 211,
              "column": 6
            },
            "end": {
              "line": 214,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "label",
          "description": "The label of the mask.",
          "sourceRange": {
            "start": {
              "line": 235,
              "column": 6
            },
            "end": {
              "line": 237,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "placeholder",
          "description": "The placeholder of the mask.",
          "sourceRange": {
            "start": {
              "line": 241,
              "column": 6
            },
            "end": {
              "line": 243,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "required",
          "description": "Set to true, if the selection is required.",
          "sourceRange": {
            "start": {
              "line": 249,
              "column": 6
            },
            "end": {
              "line": 252,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "attr-for-display",
          "description": "The attribute name of the item to display on mask.",
          "sourceRange": {
            "start": {
              "line": 256,
              "column": 6
            },
            "end": {
              "line": 259,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-mask"
    },
    {
      "description": "`isu-pagination`\n\nExample:\n```html\n<isu-pagination total=\"30\" limit=\"5\" paging=\"{{paging}}\"></isu-pagination>\n```",
      "summary": "",
      "path": "isu-pagination.js",
      "properties": [
        {
          "name": "__dataEnabled",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 167,
              "column": 6
            },
            "end": {
              "line": 167,
              "column": 24
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "defaultValue": "false",
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "__dataClientsReady",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1116,
              "column": 6
            },
            "end": {
              "line": 1116,
              "column": 30
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataPendingClients",
          "type": "Array",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1118,
              "column": 6
            },
            "end": {
              "line": 1118,
              "column": 32
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataToNotify",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1120,
              "column": 6
            },
            "end": {
              "line": 1120,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataLinkedPaths",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1122,
              "column": 6
            },
            "end": {
              "line": 1122,
              "column": 29
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataHasPaths",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1124,
              "column": 6
            },
            "end": {
              "line": 1124,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataCompoundStorage",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1126,
              "column": 6
            },
            "end": {
              "line": 1126,
              "column": 33
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataHost",
          "type": "Polymer_PropertyEffects",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1128,
              "column": 6
            },
            "end": {
              "line": 1128,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataTemp",
          "type": "!Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1130,
              "column": 6
            },
            "end": {
              "line": 1130,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataClientsInitialized",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1132,
              "column": 6
            },
            "end": {
              "line": 1132,
              "column": 36
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__data",
          "type": "!Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1134,
              "column": 6
            },
            "end": {
              "line": 1134,
              "column": 18
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataPending",
          "type": "(!Object | null)",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1136,
              "column": 6
            },
            "end": {
              "line": 1136,
              "column": 25
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataOld",
          "type": "!Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1138,
              "column": 6
            },
            "end": {
              "line": 1138,
              "column": 21
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__computeEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1140,
              "column": 6
            },
            "end": {
              "line": 1140,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__reflectEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1142,
              "column": 6
            },
            "end": {
              "line": 1142,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__notifyEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1144,
              "column": 6
            },
            "end": {
              "line": 1144,
              "column": 27
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__propagateEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1146,
              "column": 6
            },
            "end": {
              "line": 1146,
              "column": 30
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__observeEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1148,
              "column": 6
            },
            "end": {
              "line": 1148,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__readOnly",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1150,
              "column": 6
            },
            "end": {
              "line": 1150,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__templateInfo",
          "type": "!TemplateInfo",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1152,
              "column": 6
            },
            "end": {
              "line": 1152,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "PROPERTY_EFFECT_TYPES",
          "type": "!Object.<string, string>",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1158,
              "column": 4
            },
            "end": {
              "line": 1160,
              "column": 5
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_template",
          "type": "HTMLTemplateElement",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 523,
              "column": 6
            },
            "end": {
              "line": 523,
              "column": 21
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_importPath",
          "type": "string",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 525,
              "column": 6
            },
            "end": {
              "line": 525,
              "column": 23
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "rootPath",
          "type": "string",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 527,
              "column": 6
            },
            "end": {
              "line": 527,
              "column": 20
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "importPath",
          "type": "string",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 529,
              "column": 6
            },
            "end": {
              "line": 529,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "root",
          "type": "(StampedTemplate | HTMLElement | ShadowRoot)",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 531,
              "column": 6
            },
            "end": {
              "line": 531,
              "column": 16
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "$",
          "type": "!Object.<string, !Element>",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 533,
              "column": 6
            },
            "end": {
              "line": 533,
              "column": 13
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "limit",
          "type": "number",
          "description": "Max count of single page.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 195,
              "column": 6
            },
            "end": {
              "line": 198,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_limitChanged\"",
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "total",
          "type": "number",
          "description": "Total count.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 204,
              "column": 6
            },
            "end": {
              "line": 207,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "0"
        },
        {
          "name": "size",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 209,
              "column": 6
            },
            "end": {
              "line": 212,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "hideOnSinglePage",
          "type": "boolean",
          "description": "Total count.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 218,
              "column": 6
            },
            "end": {
              "line": 221,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "totalPageSize",
          "type": "number | null | undefined",
          "description": "Total page sizes",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 226,
              "column": 6
            },
            "end": {
              "line": 229,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "hidePageSelect",
          "type": "boolean | null | undefined",
          "description": "Whether or not show the page select items",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 234,
              "column": 6
            },
            "end": {
              "line": 237,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "pageSizes",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 239,
              "column": 6
            },
            "end": {
              "line": 244,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[20,40,60]"
        },
        {
          "name": "__pageIndex",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 246,
              "column": 6
            },
            "end": {
              "line": 248,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "start",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 250,
              "column": 6
            },
            "end": {
              "line": 253,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_pageStartChanged\"",
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "__pageSize",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 255,
              "column": 6
            },
            "end": {
              "line": 258,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "__limit",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 260,
              "column": 6
            },
            "end": {
              "line": 262,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_stampTemplate",
          "description": "Stamps the provided template and performs instance-time setup for\nPolymer template features, including data bindings, declarative event\nlisteners, and the `this.$` map of `id`'s to nodes.  A document fragment\nis returned containing the stamped DOM, ready for insertion into the\nDOM.\n\nThis method may be called more than once; however note that due to\n`shadycss` polyfill limitations, only styles from templates prepared\nusing `ShadyCSS.prepareTemplate` will be correctly polyfilled (scoped\nto the shadow root and support CSS custom properties), and note that\n`ShadyCSS.prepareTemplate` may only be called once per element. As such,\nany styles required by in runtime-stamped templates must be included\nin the main element template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2490,
              "column": 4
            },
            "end": {
              "line": 2515,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template to stamp"
            }
          ],
          "return": {
            "type": "!StampedTemplate",
            "desc": "Cloned template content"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_addMethodEventListenerToNode",
          "description": "Adds an event listener by method name for the event provided.\n\nThis method generates a handler function that looks up the method\nname at handling time.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 527,
              "column": 4
            },
            "end": {
              "line": 532,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!EventTarget",
              "description": "Node to add listener on"
            },
            {
              "name": "eventName",
              "type": "string",
              "description": "Name of event"
            },
            {
              "name": "methodName",
              "type": "string",
              "description": "Name of method"
            },
            {
              "name": "context",
              "type": "*=",
              "description": "Context the method will be called on (defaults\n  to `node`)"
            }
          ],
          "return": {
            "type": "Function",
            "desc": "Generated handler function"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_addEventListenerToNode",
          "description": "Override point for adding custom or simulated event handling.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 543,
              "column": 4
            },
            "end": {
              "line": 545,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!EventTarget",
              "description": "Node to add event listener to"
            },
            {
              "name": "eventName",
              "type": "string",
              "description": "Name of event"
            },
            {
              "name": "handler",
              "type": "function (!Event): void",
              "description": "Listener function to add"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_removeEventListenerFromNode",
          "description": "Override point for adding custom or simulated event handling.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 556,
              "column": 4
            },
            "end": {
              "line": 558,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!EventTarget",
              "description": "Node to remove event listener from"
            },
            {
              "name": "eventName",
              "type": "string",
              "description": "Name of event"
            },
            {
              "name": "handler",
              "type": "function (!Event): void",
              "description": "Listener function to remove"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_createPropertyAccessor",
          "description": "Creates a setter/getter pair for the named property with its own\nlocal storage.  The getter returns the value in the local storage,\nand the setter calls `_setProperty`, which updates the local storage\nfor the property and enqueues a `_propertiesChanged` callback.\n\nThis method may be called on a prototype or an instance.  Calling\nthis method may overwrite a property value that already exists on\nthe prototype/instance by creating the accessor.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 113,
              "column": 4
            },
            "end": {
              "line": 122,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "readOnly",
              "type": "boolean=",
              "description": "When true, no setter is created; the\n  protected `_setProperty` function must be used to set the property"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_addPropertyToAttributeMap",
          "description": "Adds the given `property` to a map matching attribute names\nto property names, using `attributeNameForProperty`. This map is\nused when deserializing attribute values to properties.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 132,
              "column": 4
            },
            "end": {
              "line": 140,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_definePropertyAccessor",
          "description": "Defines a property accessor for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 149,
              "column": 5
            },
            "end": {
              "line": 162,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "readOnly",
              "type": "boolean=",
              "description": "When true, no setter is created"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "ready",
          "description": "Stamps the element template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 644,
              "column": 4
            },
            "end": {
              "line": 650,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_initializeProperties",
          "description": "Overrides the default `PropertyAccessors` to ensure class\nmetaprogramming related to property accessors and effects has\ncompleted (calls `finalize`).\n\nIt also initializes any property defaults provided via `value` in\n`properties` metadata.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 548,
              "column": 4
            },
            "end": {
              "line": 580,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_initializeInstanceProperties",
          "description": "Called at ready time with bag of instance properties that overwrote\naccessors when the element upgraded.\n\nThe default implementation sets these properties back into the\nsetter at ready time.  This method is provided as an override\npoint for customizing or providing more efficient initialization.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 235,
              "column": 4
            },
            "end": {
              "line": 237,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of property values that were overwritten\n  when creating property accessors."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_setProperty",
          "description": "Updates the local storage for a property (via `_setPendingProperty`)\nand enqueues a `_proeprtiesChanged` callback.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 249,
              "column": 4
            },
            "end": {
              "line": 253,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_getProperty",
          "description": "Returns the value for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 262,
              "column": 4
            },
            "end": {
              "line": 264,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of property"
            }
          ],
          "return": {
            "type": "*",
            "desc": "Value for the given property"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_setPendingProperty",
          "description": "Updates the local storage for a property, records the previous value,\nand adds it to the set of \"pending changes\" that will be passed to the\n`_propertiesChanged` callback.  This method does not enqueue the\n`_propertiesChanged` callback.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 280,
              "column": 4
            },
            "end": {
              "line": 296,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set"
            },
            {
              "name": "ext",
              "type": "boolean=",
              "description": "Not used here; affordance for closure"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property changed"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_invalidateProperties",
          "description": "Marks the properties as invalid, and enqueues an async\n`_propertiesChanged` callback.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 307,
              "column": 4
            },
            "end": {
              "line": 317,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_enableProperties",
          "description": "Call to enable property accessor processing. Before this method is\ncalled accessor values will be set but side effects are\nqueued. When called, any pending side effects occur immediately.\nFor elements, generally `connectedCallback` is a normal spot to do so.\nIt is safe to call this method multiple times as it only turns on\nproperty accessors once.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 331,
              "column": 4
            },
            "end": {
              "line": 340,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_flushProperties",
          "description": "Calls the `_propertiesChanged` callback with the current set of\npending changes (and old values recorded when pending changes were\nset), and resets the pending set of changes. Generally, this method\nshould not be called in user code.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 352,
              "column": 4
            },
            "end": {
              "line": 361,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_shouldPropertiesChange",
          "description": "Called in `_flushProperties` to determine if `_propertiesChanged`\nshould be called. The default implementation returns true if\nproperties are pending. Override to customize when\n`_propertiesChanged` is called.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 376,
              "column": 4
            },
            "end": {
              "line": 378,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "currentProps",
              "type": "!Object",
              "description": "Bag of all current accessor values"
            },
            {
              "name": "changedProps",
              "type": "?Object",
              "description": "Bag of properties changed since the last\n  call to `_propertiesChanged`"
            },
            {
              "name": "oldProps",
              "type": "?Object",
              "description": "Bag of previous values for each property\n  in `changedProps`"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "true if changedProps is truthy"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_propertiesChanged",
          "description": "Callback called when any properties with accessors created via\n`_createPropertyAccessor` have been set.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 393,
              "column": 4
            },
            "end": {
              "line": 394,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "currentProps",
              "type": "!Object",
              "description": "Bag of all current accessor values"
            },
            {
              "name": "changedProps",
              "type": "?Object",
              "description": "Bag of properties changed since the last\n  call to `_propertiesChanged`"
            },
            {
              "name": "oldProps",
              "type": "?Object",
              "description": "Bag of previous values for each property\n  in `changedProps`"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_shouldPropertyChange",
          "description": "Method called to determine whether a property value should be\nconsidered as a change and cause the `_propertiesChanged` callback\nto be enqueued.\n\nThe default implementation returns `true` if a strict equality\ncheck fails. The method always returns false for `NaN`.\n\nOverride this method to e.g. provide stricter checking for\nObjects/Arrays when using immutable patterns.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 415,
              "column": 4
            },
            "end": {
              "line": 422,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "value",
              "type": "*",
              "description": "New property value"
            },
            {
              "name": "old",
              "type": "*",
              "description": "Previous property value"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Whether the property should be considered a change\n  and enqueue a `_proeprtiesChanged` callback"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "attributeChangedCallback",
          "description": "Implements native Custom Elements `attributeChangedCallback` to\nset an attribute value to a property via `_attributeToProperty`.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 436,
              "column": 4
            },
            "end": {
              "line": 443,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "name",
              "type": "string",
              "description": "Name of attribute that changed"
            },
            {
              "name": "old",
              "type": "?string",
              "description": "Old attribute value"
            },
            {
              "name": "value",
              "type": "?string",
              "description": "New attribute value"
            },
            {
              "name": "namespace",
              "type": "?string",
              "description": "Attribute namespace."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_attributeToProperty",
          "description": "Deserializes an attribute to its associated property.\n\nThis method calls the `_deserializeValue` method to convert the string to\na typed value.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 458,
              "column": 4
            },
            "end": {
              "line": 465,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "attribute",
              "type": "string",
              "description": "Name of attribute to deserialize."
            },
            {
              "name": "value",
              "type": "?string",
              "description": "of the attribute."
            },
            {
              "name": "type",
              "type": "*=",
              "description": "type to deserialize to, defaults to the value\nreturned from `typeForProperty`"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_propertyToAttribute",
          "description": "Serializes a property to its associated attribute.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 478,
              "column": 4
            },
            "end": {
              "line": 484,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name to reflect."
            },
            {
              "name": "attribute",
              "type": "string=",
              "description": "Attribute name to reflect to."
            },
            {
              "name": "value",
              "type": "*=",
              "description": "Property value to refect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_valueToNodeAttribute",
          "description": "Sets a typed value to an HTML attribute on a node.\n\nThis method calls the `_serializeValue` method to convert the typed\nvalue to a string.  If the `_serializeValue` method returns `undefined`,\nthe attribute will be removed (this is the default for boolean\ntype `false`).",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 500,
              "column": 4
            },
            "end": {
              "line": 510,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Element",
              "description": "Element to set attribute to."
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to serialize."
            },
            {
              "name": "attribute",
              "type": "string",
              "description": "Attribute name to serialize to."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_serializeValue",
          "description": "Converts a typed JavaScript value to a string.\n\nThis method is called when setting JS property values to\nHTML attributes.  Users may override this method to provide\nserialization for custom types.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 524,
              "column": 4
            },
            "end": {
              "line": 531,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value",
              "type": "*",
              "description": "Property value to serialize."
            }
          ],
          "return": {
            "type": "(string | undefined)",
            "desc": "String serialized from the provided\nproperty  value."
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_deserializeValue",
          "description": "Converts a string to a typed JavaScript value.\n\nThis method is called when reading HTML attribute values to\nJS properties.  Users may override this method to provide\ndeserialization for custom `type`s. Types for `Boolean`, `String`,\nand `Number` convert attributes to the expected types.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 546,
              "column": 4
            },
            "end": {
              "line": 555,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value",
              "type": "?string",
              "description": "Value to deserialize."
            },
            {
              "name": "type",
              "type": "*=",
              "description": "Type to deserialize the string to."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Typed value deserialized from the provided string."
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_initializeProtoProperties",
          "description": "Overrides `PropertyAccessors` implementation to provide a\nmore efficient implementation of initializing properties from\nthe prototype on the instance.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1190,
              "column": 4
            },
            "end": {
              "line": 1194,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "Object",
              "description": "Properties to initialize on the prototype"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_ensureAttribute",
          "description": "Ensures the element has the given attribute. If it does not,\nassigns the given value to the attribute.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 195,
              "column": 4
            },
            "end": {
              "line": 200,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "attribute",
              "type": "string",
              "description": "Name of attribute to ensure is set."
            },
            {
              "name": "value",
              "type": "string",
              "description": "of the attribute."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "_hasAccessor",
          "description": "Returns true if this library created an accessor for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 307,
              "column": 4
            },
            "end": {
              "line": 309,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if an accessor was created"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "_isPropertyPending",
          "description": "Returns true if the specified property has a pending change.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 319,
              "column": 4
            },
            "end": {
              "line": 321,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "prop",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if property has a pending change"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "_addPropertyEffect",
          "description": "Equivalent to static `addPropertyEffect` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1229,
              "column": 4
            },
            "end": {
              "line": 1237,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property that should trigger the effect"
            },
            {
              "name": "type",
              "type": "string",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_removePropertyEffect",
          "description": "Removes the given property effect.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1248,
              "column": 4
            },
            "end": {
              "line": 1254,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property the effect was associated with"
            },
            {
              "name": "type",
              "type": "string",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object to remove"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasPropertyEffect",
          "description": "Returns whether the current prototype/instance has a property effect\nof a certain type.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1267,
              "column": 4
            },
            "end": {
              "line": 1270,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "type",
              "type": "string=",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasReadOnlyEffect",
          "description": "Returns whether the current prototype/instance has a \"read only\"\naccessor for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1282,
              "column": 4
            },
            "end": {
              "line": 1284,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasNotifyEffect",
          "description": "Returns whether the current prototype/instance has a \"notify\"\nproperty effect for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1296,
              "column": 4
            },
            "end": {
              "line": 1298,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasReflectEffect",
          "description": "Returns whether the current prototype/instance has a \"reflect to\nattribute\" property effect for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1310,
              "column": 4
            },
            "end": {
              "line": 1312,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasComputedEffect",
          "description": "Returns whether the current prototype/instance has a \"computed\"\nproperty effect for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1324,
              "column": 4
            },
            "end": {
              "line": 1326,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_setPendingPropertyOrPath",
          "description": "Sets a pending property or path.  If the root property of the path in\nquestion had no accessor, the path is set, otherwise it is enqueued\nvia `_setPendingProperty`.\n\nThis function isolates relatively expensive functionality necessary\nfor the public API (`set`, `setProperties`, `notifyPath`, and property\nchange listeners via {{...}} bindings), such that it is only done\nwhen paths enter the system, and not at every propagation step.  It\nalso sets a `__dataHasPaths` flag on the instance which is used to\nfast-path slower path-matching code in the property effects host paths.\n\n`path` can be a path string or array of path parts as accepted by the\npublic API.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1359,
              "column": 4
            },
            "end": {
              "line": 1391,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(number | string)>)",
              "description": "Path to set"
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set"
            },
            {
              "name": "shouldNotify",
              "type": "boolean=",
              "description": "Set to true if this change should\n cause a property notification event dispatch"
            },
            {
              "name": "isPathNotification",
              "type": "boolean=",
              "description": "If the path being set is a path\n  notification of an already changed value, as opposed to a request\n  to set and notify the change.  In the latter `false` case, a dirty\n  check is performed and then the value is set to the path before\n  enqueuing the pending property change."
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property/path was enqueued in\n  the pending changes bag."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_setUnmanagedPropertyToNode",
          "description": "Applies a value to a non-Polymer element/node's property.\n\nThe implementation makes a best-effort at binding interop:\nSome native element properties have side-effects when\nre-setting the same value (e.g. setting `<input>.value` resets the\ncursor position), so we do a dirty-check before setting the value.\nHowever, for better interop with non-Polymer custom elements that\naccept objects, we explicitly re-set object changes coming from the\nPolymer world (which may include deep object changes without the\ntop reference changing), erring on the side of providing more\ninformation.\n\nUsers may override this method to provide alternate approaches.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1415,
              "column": 4
            },
            "end": {
              "line": 1427,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!Node",
              "description": "The node to set a property on"
            },
            {
              "name": "prop",
              "type": "string",
              "description": "The property to set"
            },
            {
              "name": "value",
              "type": "*",
              "description": "The value to set"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_enqueueClient",
          "description": "Enqueues the given client on a list of pending clients, whose\npending property changes can later be flushed via a call to\n`_flushClients`.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1535,
              "column": 4
            },
            "end": {
              "line": 1540,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "client",
              "type": "Object",
              "description": "PropertyEffects client to enqueue"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_flushClients",
          "description": "Flushes any clients previously enqueued via `_enqueueClient`, causing\ntheir `_flushProperties` method to run.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1563,
              "column": 4
            },
            "end": {
              "line": 1574,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__enableOrFlushClients",
          "description": "(c) the stamped dom enables.",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1588,
              "column": 4
            },
            "end": {
              "line": 1601,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_readyClients",
          "description": "Implements `PropertyEffects`'s `_readyClients` call. Attaches\nelement dom by calling `_attachDom` with the dom stamped from the\nelement's template via `_stampTemplate`. Note that this allows\nclient dom to be attached to the element prior to any observers\nrunning.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 662,
              "column": 4
            },
            "end": {
              "line": 671,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "setProperties",
          "description": "Sets a bag of property changes to this instance, and\nsynchronously processes all effects of the properties as a batch.\n\nProperty names must be simple properties, not paths.  Batched\npath propagation is not supported.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1632,
              "column": 4
            },
            "end": {
              "line": 1643,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of one or more key-value pairs whose key is\n  a property and value is the new value to set for that property."
            },
            {
              "name": "setReadOnly",
              "type": "boolean=",
              "description": "When true, any private values set in\n  `props` will be set. By default, `setProperties` will not set\n  `readOnly: true` root properties."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_propagatePropertyChanges",
          "description": "Called to propagate any property changes to stamped template nodes\nmanaged by this element.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1732,
              "column": 4
            },
            "end": {
              "line": 1742,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "changedProps",
              "type": "Object",
              "description": "Bag of changed properties"
            },
            {
              "name": "oldProps",
              "type": "Object",
              "description": "Bag of previous values for changed properties"
            },
            {
              "name": "hasPaths",
              "type": "boolean",
              "description": "True with `props` contains one or more paths"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "linkPaths",
          "description": "Aliases one data path as another, such that path notifications from one\nare routed to the other.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1754,
              "column": 4
            },
            "end": {
              "line": 1759,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "to",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Target path to link."
            },
            {
              "name": "from",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Source path to link."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "unlinkPaths",
          "description": "Removes a data path alias previously established with `_linkPaths`.\n\nNote, the path to unlink should be the target (`to`) used when\nlinking the paths.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1772,
              "column": 4
            },
            "end": {
              "line": 1777,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Target path to unlink."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "notifySplices",
          "description": "Notify that an array has changed.\n\nExample:\n\n    this.items = [ {name: 'Jim'}, {name: 'Todd'}, {name: 'Bill'} ];\n    ...\n    this.items.splice(1, 1, {name: 'Sam'});\n    this.items.push({name: 'Bob'});\n    this.notifySplices('items', [\n      { index: 1, removed: [{name: 'Todd'}], addedCount: 1,\n        object: this.items, type: 'splice' },\n      { index: 3, removed: [], addedCount: 1,\n        object: this.items, type: 'splice'}\n    ]);",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1813,
              "column": 4
            },
            "end": {
              "line": 1817,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "string",
              "description": "Path that should be notified."
            },
            {
              "name": "splices",
              "type": "Array",
              "description": "Array of splice records indicating ordered\n  changes that occurred to the array. Each record should have the\n  following fields:\n   * index: index at which the change occurred\n   * removed: array of items that were removed from this index\n   * addedCount: number of new items added at this index\n   * object: a reference to the array in question\n   * type: the string literal 'splice'\n\n  Note that splice records _must_ be normalized such that they are\n  reported in index order (raw results from `Object.observe` are not\n  ordered and must be normalized/merged before notifying)."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "get",
          "description": "Convenience method for reading a value from a path.\n\nNote, if any part in the path is undefined, this method returns\n`undefined` (this method does not throw when dereferencing undefined\npaths).",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1839,
              "column": 4
            },
            "end": {
              "line": 1841,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to the value\n  to read.  The path may be specified as a string (e.g. `foo.bar.baz`)\n  or an array of path parts (e.g. `['foo.bar', 'baz']`).  Note that\n  bracketed expressions are not supported; string-based path parts\n  *must* be separated by dots.  Note that when dereferencing array\n  indices, the index may be used as a dotted part directly\n  (e.g. `users.12.name` or `['users', 12, 'name']`)."
            },
            {
              "name": "root",
              "type": "Object=",
              "description": "Root object from which the path is evaluated."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Value at the path, or `undefined` if any part of the path\n  is undefined."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "set",
          "description": "Convenience method for setting a value to a path and notifying any\nelements bound to the same path.\n\nNote, if any part in the path except for the last is undefined,\nthis method does nothing (this method does not throw when\ndereferencing undefined paths).",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1865,
              "column": 4
            },
            "end": {
              "line": 1875,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to the value\n  to write.  The path may be specified as a string (e.g. `'foo.bar.baz'`)\n  or an array of path parts (e.g. `['foo.bar', 'baz']`).  Note that\n  bracketed expressions are not supported; string-based path parts\n  *must* be separated by dots.  Note that when dereferencing array\n  indices, the index may be used as a dotted part directly\n  (e.g. `'users.12.name'` or `['users', 12, 'name']`)."
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set at the specified path."
            },
            {
              "name": "root",
              "type": "Object=",
              "description": "Root object from which the path is evaluated.\n  When specified, no notification will occur."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "push",
          "description": "Adds items onto the end of the array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.push`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1892,
              "column": 4
            },
            "end": {
              "line": 1901,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            },
            {
              "name": "items",
              "type": "...*",
              "rest": true,
              "description": "Items to push onto array"
            }
          ],
          "return": {
            "type": "number",
            "desc": "New length of the array."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "pop",
          "description": "Removes an item from the end of array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.pop`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1917,
              "column": 4
            },
            "end": {
              "line": 1926,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Item that was removed."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "splice",
          "description": "Starting from the start index specified, removes 0 or more items\nfrom the array and inserts 0 or more new items in their place.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.splice`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1946,
              "column": 4
            },
            "end": {
              "line": 1983,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            },
            {
              "name": "start",
              "type": "number",
              "description": "Index from which to start removing/inserting."
            },
            {
              "name": "deleteCount",
              "type": "number=",
              "description": "Number of items to remove."
            },
            {
              "name": "items",
              "type": "...*",
              "rest": true,
              "description": "Items to insert into array."
            }
          ],
          "return": {
            "type": "Array",
            "desc": "Array of removed items."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "shift",
          "description": "Removes an item from the beginning of array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.pop`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1999,
              "column": 4
            },
            "end": {
              "line": 2008,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Item that was removed."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "unshift",
          "description": "Adds items onto the beginning of the array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.push`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2025,
              "column": 4
            },
            "end": {
              "line": 2033,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            },
            {
              "name": "items",
              "type": "...*",
              "rest": true,
              "description": "Items to insert info array"
            }
          ],
          "return": {
            "type": "number",
            "desc": "New length of the array."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "notifyPath",
          "description": "Notify that a path has changed.\n\nExample:\n\n    this.item.user.name = 'Bob';\n    this.notifyPath('item.user.name');",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2049,
              "column": 4
            },
            "end": {
              "line": 2066,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "string",
              "description": "Path that should be notified."
            },
            {
              "name": "value",
              "type": "*=",
              "description": "Value at the path (optional)."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createReadOnlyProperty",
          "description": "Equivalent to static `createReadOnlyProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2080,
              "column": 4
            },
            "end": {
              "line": 2087,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "protectedSetter",
              "type": "boolean=",
              "description": "Creates a custom protected setter\n  when `true`."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createPropertyObserver",
          "description": "Equivalent to static `createPropertyObserver` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2103,
              "column": 4
            },
            "end": {
              "line": 2113,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "method",
              "type": "(string | function (*, *))",
              "description": "Function or name of observer method\n    to call"
            },
            {
              "name": "dynamicFn",
              "type": "boolean=",
              "description": "Whether the method name should be included as\n  a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createMethodObserver",
          "description": "Equivalent to static `createMethodObserver` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2127,
              "column": 4
            },
            "end": {
              "line": 2133,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating\n  whether method names should be included as a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createNotifyingProperty",
          "description": "Equivalent to static `createNotifyingProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2145,
              "column": 4
            },
            "end": {
              "line": 2153,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createReflectedProperty",
          "description": "Equivalent to static `createReflectedProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2166,
              "column": 4
            },
            "end": {
              "line": 2179,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createComputedProperty",
          "description": "Equivalent to static `createComputedProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2194,
              "column": 4
            },
            "end": {
              "line": 2200,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of computed property to set"
            },
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating\n  whether method names should be included as a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_marshalArgs",
          "description": "Gather the argument values for a method specified in the provided array\nof argument metadata.\n\nThe `path` and `value` arguments are used to fill in wildcard descriptor\nwhen the method is being called as a result of a path notification.",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2215,
              "column": 4
            },
            "end": {
              "line": 2236,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "args",
              "type": "!Array.<!MethodArg>",
              "description": "Array of argument metadata"
            },
            {
              "name": "path",
              "type": "string",
              "description": "Property/path name that triggered the method effect"
            },
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of current property changes"
            }
          ],
          "return": {
            "type": "Array.<*>",
            "desc": "Array of argument values"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_bindTemplate",
          "description": "Equivalent to static `bindTemplate` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.\n\nThis method may be called on the prototype (for prototypical template\nbinding, to avoid creating accessors every instance) once per prototype,\nand will be called with `runtimeBinding: true` by `_stampTemplate` to\ncreate and link an instance of the template metadata associated with a\nparticular stamping.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2423,
              "column": 4
            },
            "end": {
              "line": 2446,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template containing binding\n  bindings"
            },
            {
              "name": "instanceBinding",
              "type": "boolean=",
              "description": "When false (default), performs\n  \"prototypical\" binding of the template and overwrites any previously\n  bound template for the class. When true (as passed from\n  `_stampTemplate`), the template info is instanced and linked into\n  the list of bound templates."
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Template metadata object; for `runtimeBinding`,\n  this is an instance of the prototypical template info"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_removeBoundDom",
          "description": "Removes and unbinds the nodes previously contained in the provided\nDocumentFragment returned from `_stampTemplate`.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2527,
              "column": 4
            },
            "end": {
              "line": 2548,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "dom",
              "type": "!StampedTemplate",
              "description": "DocumentFragment previously returned\n  from `_stampTemplate` associated with the nodes to be removed"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "connectedCallback",
          "description": "Provides a default implementation of the standard Custom Elements\n`connectedCallback`.\n\nThe default implementation enables the property effects system and\nflushes any pending properties, and updates shimmed CSS properties\nwhen using the ShadyCSS scoping/custom properties polyfill.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 631,
              "column": 4
            },
            "end": {
              "line": 636,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "disconnectedCallback",
          "description": "Called when the element is removed from a document",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-mixin.js",
            "start": {
              "line": 230,
              "column": 3
            },
            "end": {
              "line": 234,
              "column": 4
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesMixin"
        },
        {
          "name": "_attachDom",
          "description": "Attaches an element's stamped dom to itself. By default,\nthis method creates a `shadowRoot` and adds the dom to it.\nHowever, this method may be overridden to allow an element\nto put its dom in another location.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 686,
              "column": 4
            },
            "end": {
              "line": 706,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "dom",
              "type": "StampedTemplate",
              "description": "to attach to the element."
            }
          ],
          "return": {
            "type": "ShadowRoot",
            "desc": "node to which the dom has been attached."
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "updateStyles",
          "description": "When using the ShadyCSS scoping and custom property shim, causes all\nshimmed styles in this element (and its subtree) to be updated\nbased on current custom property values.\n\nThe optional parameter overrides inline custom property styles with an\nobject of properties where the keys are CSS properties, and the values\nare strings.\n\nExample: `this.updateStyles({'--color': 'blue'})`\n\nThese properties are retained unless a value of `null` is set.\n\nNote: This function does not support updating CSS mixins.\nYou can not dynamically change the value of an `@apply`.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 730,
              "column": 4
            },
            "end": {
              "line": 734,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "properties",
              "type": "Object=",
              "description": "Bag of custom property key/values to\n  apply to this element."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "resolveUrl",
          "description": "Rewrites a given URL relative to a base URL. The base URL defaults to\nthe original location of the document containing the `dom-module` for\nthis element. This method will return the same URL before and after\nbundling.\n\nNote that this function performs no resolution for URLs that start\nwith `/` (absolute URLs) or `#` (hash identifiers).  For general purpose\nURL resolution, use `window.URL`.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 752,
              "column": 4
            },
            "end": {
              "line": 757,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "url",
              "type": "string",
              "description": "URL to resolve."
            },
            {
              "name": "base",
              "type": "string=",
              "description": "Optional base URL to resolve against, defaults\nto the element's `importPath`"
            }
          ],
          "return": {
            "type": "string",
            "desc": "Rewritten URL relative to base"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "__computedPageSize",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 266,
              "column": 2
            },
            "end": {
              "line": 268,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "pageSizes",
              "defaultValue": "[]"
            }
          ]
        },
        {
          "name": "_pageStartChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 279,
              "column": 2
            },
            "end": {
              "line": 291,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "start"
            },
            {
              "name": "oldStart"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_totalChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 293,
              "column": 2
            },
            "end": {
              "line": 297,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "total"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_pageIndexChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 299,
              "column": 2
            },
            "end": {
              "line": 301,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_limitChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 303,
              "column": 2
            },
            "end": {
              "line": 317,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "limit"
            },
            {
              "name": "oldLimit"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__limitChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 319,
              "column": 2
            },
            "end": {
              "line": 321,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "limit"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_calTotalPageSize",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 323,
              "column": 2
            },
            "end": {
              "line": 325,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "total"
            },
            {
              "name": "limit"
            }
          ]
        },
        {
          "name": "first",
          "description": "Go to the first page.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 330,
              "column": 2
            },
            "end": {
              "line": 332,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "prev",
          "description": "Go to previous page.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 337,
              "column": 2
            },
            "end": {
              "line": 341,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "next",
          "description": "Go to next page.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 346,
              "column": 2
            },
            "end": {
              "line": 350,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "last",
          "description": "Go to the last page.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 355,
              "column": 2
            },
            "end": {
              "line": 357,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "isMini",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 359,
              "column": 2
            },
            "end": {
              "line": 361,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "size"
            }
          ]
        }
      ],
      "staticMethods": [
        {
          "name": "_parseTemplate",
          "description": "Scans a template to produce template metadata.\n\nTemplate-specific metadata are stored in the object returned, and node-\nspecific metadata are stored in objects in its flattened `nodeInfoList`\narray.  Only nodes in the template that were parsed as nodes of\ninterest contain an object in `nodeInfoList`.  Each `nodeInfo` object\ncontains an `index` (`childNodes` index in parent) and optionally\n`parent`, which points to node info of its parent (including its index).\n\nThe template metadata object returned from this method has the following\nstructure (many fields optional):\n\n```js\n  {\n    // Flattened list of node metadata (for nodes that generated metadata)\n    nodeInfoList: [\n      {\n        // `id` attribute for any nodes with id's for generating `$` map\n        id: {string},\n        // `on-event=\"handler\"` metadata\n        events: [\n          {\n            name: {string},   // event name\n            value: {string},  // handler method name\n          }, ...\n        ],\n        // Notes when the template contained a `<slot>` for shady DOM\n        // optimization purposes\n        hasInsertionPoint: {boolean},\n        // For nested `<template>`` nodes, nested template metadata\n        templateInfo: {object}, // nested template metadata\n        // Metadata to allow efficient retrieval of instanced node\n        // corresponding to this metadata\n        parentInfo: {number},   // reference to parent nodeInfo>\n        parentIndex: {number},  // index in parent's `childNodes` collection\n        infoIndex: {number},    // index of this `nodeInfo` in `templateInfo.nodeInfoList`\n      },\n      ...\n    ],\n    // When true, the template had the `strip-whitespace` attribute\n    // or was nested in a template with that setting\n    stripWhitespace: {boolean},\n    // For nested templates, nested template content is moved into\n    // a document fragment stored here; this is an optimization to\n    // avoid the cost of nested template cloning\n    content: {DocumentFragment}\n  }\n```\n\nThis method kicks off a recursive treewalk as follows:\n\n```\n   _parseTemplate <---------------------+\n     _parseTemplateContent              |\n       _parseTemplateNode  <------------|--+\n         _parseTemplateNestedTemplate --+  |\n         _parseTemplateChildNodes ---------+\n         _parseTemplateNodeAttributes\n           _parseTemplateNodeAttribute\n\n```\n\nThese methods may be overridden to add custom metadata about templates\nto either `templateInfo` or `nodeInfo`.\n\nNote that this method may be destructive to the template, in that\ne.g. event annotations may be removed after being noted in the\ntemplate metadata.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 248,
              "column": 4
            },
            "end": {
              "line": 262,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template to parse"
            },
            {
              "name": "outerTemplateInfo",
              "type": "TemplateInfo=",
              "description": "Template metadata from the outer\n  template, for parsing nested templates"
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Parsed template metadata"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_parseTemplateContent",
          "description": "Overrides `PropertyEffects` to add map of dynamic functions on\ntemplate info, for consumption by `PropertyEffects` template binding\ncode. This map determines which method templates should have accessors\ncreated for them.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 772,
              "column": 4
            },
            "end": {
              "line": 778,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template"
            },
            {
              "name": "templateInfo",
              "type": "!TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "!NodeInfo",
              "description": "Node metadata for current template."
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "."
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_parseTemplateNode",
          "description": "Overrides default `TemplateStamp` implementation to add support for\nparsing bindings from `TextNode`'s' `textContent`.  A `bindings`\narray is added to `nodeInfo` and populated with binding metadata\nwith information capturing the binding target, and a `parts` array\nwith one or more metadata objects capturing the source(s) of the\nbinding.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2567,
              "column": 4
            },
            "end": {
              "line": 2584,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Node",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "NodeInfo",
              "description": "Node metadata for current template node"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_parseTemplateChildNodes",
          "description": "Parses template child nodes for the given root node.\n\nThis method also wraps whitelisted legacy template extensions\n(`is=\"dom-if\"` and `is=\"dom-repeat\"`) with their equivalent element\nwrappers, collapses text nodes, and strips whitespace from the template\nif the `templateInfo.stripWhitespace` setting was provided.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 323,
              "column": 4
            },
            "end": {
              "line": 361,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "root",
              "type": "Node",
              "description": "Root node whose `childNodes` will be parsed"
            },
            {
              "name": "templateInfo",
              "type": "!TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "!NodeInfo",
              "description": "Node metadata for current template."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_parseTemplateNestedTemplate",
          "description": "Overrides default `TemplateStamp` implementation to add support for\nbinding the properties that a nested template depends on to the template\nas `_host_<property>`.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2670,
              "column": 4
            },
            "end": {
              "line": 2683,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Node",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "NodeInfo",
              "description": "Node metadata for current template node"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_parseTemplateNodeAttributes",
          "description": "Parses template node attributes and adds node metadata to `nodeInfo`\nfor nodes of interest.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 404,
              "column": 4
            },
            "end": {
              "line": 413,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Element",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "!TemplateInfo",
              "description": "Template metadata for current\n    template"
            },
            {
              "name": "nodeInfo",
              "type": "!NodeInfo",
              "description": "Node metadata for current template."
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_parseTemplateNodeAttribute",
          "description": "Overrides default `TemplateStamp` implementation to add support for\nparsing bindings from attributes.  A `bindings`\narray is added to `nodeInfo` and populated with binding metadata\nwith information capturing the binding target, and a `parts` array\nwith one or more metadata objects capturing the source(s) of the\nbinding.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2605,
              "column": 4
            },
            "end": {
              "line": 2654,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Element",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "NodeInfo",
              "description": "Node metadata for current template node"
            },
            {
              "name": "name",
              "type": "string",
              "description": "Attribute name"
            },
            {
              "name": "value",
              "type": "string",
              "description": "Attribute value"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_contentForTemplate",
          "description": "Returns the `content` document fragment for a given template.\n\nFor nested templates, Polymer performs an optimization to cache nested\ntemplate content to avoid the cost of cloning deeply nested templates.\nThis method retrieves the cached content for a given template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 461,
              "column": 4
            },
            "end": {
              "line": 464,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "HTMLTemplateElement",
              "description": "Template to retrieve `content` for"
            }
          ],
          "return": {
            "type": "DocumentFragment",
            "desc": "Content fragment"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "createProperties",
          "description": "Override of PropertiesChanged createProperties to create accessors\nand property effects for all of the properties.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 384,
              "column": 4
            },
            "end": {
              "line": 389,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "!Object",
              "description": "."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "attributeNameForProperty",
          "description": "Returns an attribute name that corresponds to the given property.\nThe attribute name is the lowercased property name. Override to\ncustomize this mapping.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 82,
              "column": 4
            },
            "end": {
              "line": 84,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property to convert"
            }
          ],
          "return": {
            "type": "string",
            "desc": "Attribute name corresponding to the given property."
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "typeForProperty",
          "description": "Overrides `PropertiesChanged` method to return type specified in the\nstatic `properties` object for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-mixin.js",
            "start": {
              "line": 192,
              "column": 3
            },
            "end": {
              "line": 195,
              "column": 4
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "name",
              "type": "string",
              "description": "Name of property"
            }
          ],
          "return": {
            "type": "*",
            "desc": "Type to which to deserialize attribute"
          },
          "inheritedFrom": "PropertiesMixin"
        },
        {
          "name": "createPropertiesForAttributes",
          "description": "Generates property accessors for all attributes in the standard\nstatic `observedAttributes` array.\n\nAttribute names are mapped to property names using the `dash-case` to\n`camelCase` convention",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 126,
              "column": 4
            },
            "end": {
              "line": 131,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "addPropertyEffect",
          "description": "Ensures an accessor exists for the specified property, and adds\nto a list of \"property effects\" that will run when the accessor for\nthe specified property is set.  Effects are grouped by \"type\", which\nroughly corresponds to a phase in effect processing.  The effect\nmetadata should be in the following form:\n\n    {\n      fn: effectFunction, // Reference to function to call to perform effect\n      info: { ... }       // Effect metadata passed to function\n      trigger: {          // Optional triggering metadata; if not provided\n        name: string      // the property is treated as a wildcard\n        structured: boolean\n        wildcard: boolean\n      }\n    }\n\nEffects are called from `_propertiesChanged` in the following order by\ntype:\n\n1. COMPUTE\n2. PROPAGATE\n3. REFLECT\n4. OBSERVE\n5. NOTIFY\n\nEffect functions are called with the following signature:\n\n    effectFunction(inst, path, props, oldProps, info, hasPaths)",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2277,
              "column": 4
            },
            "end": {
              "line": 2279,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property that should trigger the effect"
            },
            {
              "name": "type",
              "type": "string",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createPropertyObserver",
          "description": "Creates a single-property observer for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2292,
              "column": 4
            },
            "end": {
              "line": 2294,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "method",
              "type": "(string | function (*, *))",
              "description": "Function or name of observer method to call"
            },
            {
              "name": "dynamicFn",
              "type": "boolean=",
              "description": "Whether the method name should be included as\n  a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createMethodObserver",
          "description": "Creates a multi-property \"method observer\" based on the provided\nexpression, which should be a string in the form of a normal JavaScript\nfunction signature: `'methodName(arg1, [..., argn])'`.  Each argument\nshould correspond to a property or path in the context of this\nprototype (or instance), or may be a literal string or number.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2310,
              "column": 4
            },
            "end": {
              "line": 2312,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating"
            }
          ],
          "return": {
            "type": "void",
            "desc": "whether method names should be included as a dependency to the effect."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createNotifyingProperty",
          "description": "Causes the setter for the given property to dispatch `<property>-changed`\nevents to notify of changes to the property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2323,
              "column": 4
            },
            "end": {
              "line": 2325,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createReadOnlyProperty",
          "description": "Creates a read-only accessor for the given property.\n\nTo set the property, use the protected `_setProperty` API.\nTo create a custom protected setter (e.g. `_setMyProp()` for\nproperty `myProp`), pass `true` for `protectedSetter`.\n\nNote, if the property will have other property effects, this method\nshould be called first, before adding other effects.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2344,
              "column": 4
            },
            "end": {
              "line": 2346,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "protectedSetter",
              "type": "boolean=",
              "description": "Creates a custom protected setter\n  when `true`."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createReflectedProperty",
          "description": "Causes the setter for the given property to reflect the property value\nto a (dash-cased) attribute of the same name.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2357,
              "column": 4
            },
            "end": {
              "line": 2359,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createComputedProperty",
          "description": "Creates a computed property whose value is set to the result of the\nmethod described by the given `expression` each time one or more\narguments to the method changes.  The expression should be a string\nin the form of a normal JavaScript function signature:\n`'methodName(arg1, [..., argn])'`",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2376,
              "column": 4
            },
            "end": {
              "line": 2378,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of computed property to set"
            },
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating whether\n  method names should be included as a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "bindTemplate",
          "description": "Parses the provided template to ensure binding effects are created\nfor them, and then ensures property accessors are created for any\ndependent properties in the template.  Binding effects for bound\ntemplates are stored in a linked list on the instance so that\ntemplates can be efficiently stamped and unstamped.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2393,
              "column": 4
            },
            "end": {
              "line": 2395,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template containing binding\n  bindings"
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Template metadata object"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_addTemplatePropertyEffect",
          "description": "Overrides `PropertyEffects` to warn on use of undeclared properties in\ntemplate.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 792,
              "column": 4
            },
            "end": {
              "line": 809,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "templateInfo",
              "type": "Object",
              "description": "Template metadata to add effect to"
            },
            {
              "name": "prop",
              "type": "string",
              "description": "Property that should trigger the effect"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_parseBindings",
          "description": "Called to parse text in a template (either attribute values or\ntextContent) into binding metadata.\n\nAny overrides of this method should return an array of binding part\nmetadata  representing one or more bindings found in the provided text\nand any \"literal\" text in between.  Any non-literal parts will be passed\nto `_evaluateBinding` when any dependencies change.  The only required\nfields of each \"part\" in the returned array are as follows:\n\n- `dependencies` - Array containing trigger metadata for each property\n  that should trigger the binding to update\n- `literal` - String containing text if the part represents a literal;\n  in this case no `dependencies` are needed\n\nAdditional metadata for use by `_evaluateBinding` may be provided in\neach part object as needed.\n\nThe default implementation handles the following types of bindings\n(one or more may be intermixed with literal strings):\n- Property binding: `[[prop]]`\n- Path binding: `[[object.prop]]`\n- Negated property or path bindings: `[[!prop]]` or `[[!object.prop]]`\n- Two-way property or path bindings (supports negation):\n  `{{prop}}`, `{{object.prop}}`, `{{!prop}}` or `{{!object.prop}}`\n- Inline computed method (supports negation):\n  `[[compute(a, 'literal', b)]]`, `[[!compute(a, 'literal', b)]]`\n\nThe default implementation uses a regular expression for best\nperformance. However, the regular expression uses a white-list of\nallowed characters in a data-binding, which causes problems for\ndata-bindings that do use characters not in this white-list.\n\nInstead of updating the white-list with all allowed characters,\nthere is a StrictBindingParser (see lib/mixins/strict-binding-parser)\nthat uses a state machine instead. This state machine is able to handle\nall characters. However, it is slightly less performant, therefore we\nextracted it into a separate optional mixin.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2730,
              "column": 4
            },
            "end": {
              "line": 2795,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "text",
              "type": "string",
              "description": "Text to parse from attribute or textContent"
            },
            {
              "name": "templateInfo",
              "type": "Object",
              "description": "Current template metadata"
            }
          ],
          "return": {
            "type": "Array.<!BindingPart>",
            "desc": "Array of binding part metadata"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_evaluateBinding",
          "description": "Called to evaluate a previously parsed binding part based on a set of\none or more changed dependencies.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2812,
              "column": 4
            },
            "end": {
              "line": 2829,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "inst",
              "type": "!Polymer_PropertyEffects",
              "description": "Element that should be used as\n    scope for binding dependencies"
            },
            {
              "name": "part",
              "type": "BindingPart",
              "description": "Binding part metadata"
            },
            {
              "name": "path",
              "type": "string",
              "description": "Property/path that triggered this effect"
            },
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of current property changes"
            },
            {
              "name": "oldProps",
              "type": "Object",
              "description": "Bag of previous values for changed properties"
            },
            {
              "name": "hasPaths",
              "type": "boolean",
              "description": "True with `props` contains one or more paths"
            }
          ],
          "return": {
            "type": "*",
            "desc": "Value the binding part evaluated to"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "finalize",
          "description": "Finalizes an element definition, including ensuring any super classes\nare also finalized. This includes ensuring property\naccessors exist on the element prototype. This method calls\n`_finalizeClass` to finalize each constructor in the prototype chain.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-mixin.js",
            "start": {
              "line": 137,
              "column": 3
            },
            "end": {
              "line": 146,
              "column": 4
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesMixin"
        },
        {
          "name": "_finalizeClass",
          "description": "Override of PropertiesMixin _finalizeClass to create observers and\nfind the template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 348,
              "column": 4
            },
            "end": {
              "line": 357,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_prepareTemplate",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 360,
              "column": 4
            },
            "end": {
              "line": 374,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "createObservers",
          "description": "Creates observers for the given `observers` array.\nLeverages `PropertyEffects` to create observers.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 403,
              "column": 4
            },
            "end": {
              "line": 408,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "observers",
              "type": "Object",
              "description": "Array of observer descriptors for\n  this class"
            },
            {
              "name": "dynamicFns",
              "type": "Object",
              "description": "Object containing keys for any properties\n  that are functions and should trigger the effect when the function\n  reference is changed"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_processStyleText",
          "description": "Gather style text for a style element in the template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 591,
              "column": 4
            },
            "end": {
              "line": 593,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "cssText",
              "type": "string",
              "description": "Text containing styling to process"
            },
            {
              "name": "baseURI",
              "type": "string",
              "description": "Base URI to rebase CSS paths against"
            }
          ],
          "return": {
            "type": "string",
            "desc": "The processed CSS text"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_finalizeTemplate",
          "description": "Configures an element `proto` to function with a given `template`.\nThe element name `is` and extends `ext` must be specified for ShadyCSS\nstyle scoping.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 605,
              "column": 4
            },
            "end": {
              "line": 616,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "is",
              "type": "string",
              "description": "Tag name (or type extension name) for this element"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        }
      ],
      "demos": [
        {
          "url": "demo/isu-pagination/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 362,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "PolymerElement",
      "name": "IsuPagination",
      "attributes": [
        {
          "name": "limit",
          "description": "Max count of single page.",
          "sourceRange": {
            "start": {
              "line": 195,
              "column": 6
            },
            "end": {
              "line": 198,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "total",
          "description": "Total count.",
          "sourceRange": {
            "start": {
              "line": 204,
              "column": 6
            },
            "end": {
              "line": 207,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "size",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 209,
              "column": 6
            },
            "end": {
              "line": 212,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "hide-on-single-page",
          "description": "Total count.",
          "sourceRange": {
            "start": {
              "line": 218,
              "column": 6
            },
            "end": {
              "line": 221,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "total-page-size",
          "description": "Total page sizes",
          "sourceRange": {
            "start": {
              "line": 226,
              "column": 6
            },
            "end": {
              "line": 229,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "hide-page-select",
          "description": "Whether or not show the page select items",
          "sourceRange": {
            "start": {
              "line": 234,
              "column": 6
            },
            "end": {
              "line": 237,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "page-sizes",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 239,
              "column": 6
            },
            "end": {
              "line": 244,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "start",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 250,
              "column": 6
            },
            "end": {
              "line": 253,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-pagination"
    },
    {
      "description": "`isu-paper-tabs`\n\nExample:\n```html\n```",
      "summary": "",
      "path": "isu-paper-tabs.js",
      "properties": [
        {
          "name": "tabList",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 124,
              "column": 6
            },
            "end": {
              "line": 128,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "selected",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 129,
              "column": 6
            },
            "end": {
              "line": 133,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          },
          "defaultValue": "\"0\""
        },
        {
          "name": "selectedItem",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 134,
              "column": 6
            },
            "end": {
              "line": 137,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_selectedItemChange\"",
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "tabPosition",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 138,
              "column": 6
            },
            "end": {
              "line": 143,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_tabPositionChange\"",
              "attributeType": "String"
            }
          },
          "defaultValue": "\"left\""
        },
        {
          "name": "tabType",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 144,
              "column": 6
            },
            "end": {
              "line": 149,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          },
          "defaultValue": "\"widthBar\""
        },
        {
          "name": "attrForSelected",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 150,
              "column": 6
            },
            "end": {
              "line": 154,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "noink",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 155,
              "column": 6
            },
            "end": {
              "line": 159,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "noBar",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 160,
              "column": 6
            },
            "end": {
              "line": 164,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "noSlide",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 165,
              "column": 6
            },
            "end": {
              "line": 169,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "scrollable",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 170,
              "column": 6
            },
            "end": {
              "line": 174,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "fitContainer",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 175,
              "column": 6
            },
            "end": {
              "line": 179,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "alignBottom",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 184,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "autoSelect",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 185,
              "column": 6
            },
            "end": {
              "line": 189,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "autoSelectDelay",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 190,
              "column": 6
            },
            "end": {
              "line": 194,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          },
          "defaultValue": "0"
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 202,
              "column": 2
            },
            "end": {
              "line": 204,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "created",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 206,
              "column": 2
            },
            "end": {
              "line": 208,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "attached",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 209,
              "column": 2
            },
            "end": {
              "line": 214,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "ready",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 215,
              "column": 2
            },
            "end": {
              "line": 217,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_selectedItemChange",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 218,
              "column": 2
            },
            "end": {
              "line": 225,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "newVal"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_tabPositionChange",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 227,
              "column": 2
            },
            "end": {
              "line": 234,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "newVal"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getTabPositionClass",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 235,
              "column": 2
            },
            "end": {
              "line": 241,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "type"
            }
          ]
        },
        {
          "name": "getTabType",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 242,
              "column": 2
            },
            "end": {
              "line": 253,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "type"
            }
          ]
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-paper-tabs/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 15,
          "column": 0
        },
        "end": {
          "line": 254,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuPaperTabs",
      "attributes": [
        {
          "name": "tab-list",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 124,
              "column": 6
            },
            "end": {
              "line": 128,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "selected",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 129,
              "column": 6
            },
            "end": {
              "line": 133,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "selected-item",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 134,
              "column": 6
            },
            "end": {
              "line": 137,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "tab-position",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 138,
              "column": 6
            },
            "end": {
              "line": 143,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "tab-type",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 144,
              "column": 6
            },
            "end": {
              "line": 149,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "attr-for-selected",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 150,
              "column": 6
            },
            "end": {
              "line": 154,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "noink",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 155,
              "column": 6
            },
            "end": {
              "line": 159,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "no-bar",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 160,
              "column": 6
            },
            "end": {
              "line": 164,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "no-slide",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 165,
              "column": 6
            },
            "end": {
              "line": 169,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "scrollable",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 170,
              "column": 6
            },
            "end": {
              "line": 174,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "fit-container",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 175,
              "column": 6
            },
            "end": {
              "line": 179,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "align-bottom",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 184,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "auto-select",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 185,
              "column": 6
            },
            "end": {
              "line": 189,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "auto-select-delay",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 190,
              "column": 6
            },
            "end": {
              "line": 194,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "tab-list-changed",
          "description": "Fired when the `tabList` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "selected-changed",
          "description": "Fired when the `selected` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "tab-position-changed",
          "description": "Fired when the `tabPosition` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "tab-type-changed",
          "description": "Fired when the `tabType` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "attr-for-selected-changed",
          "description": "Fired when the `attrForSelected` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "noink-changed",
          "description": "Fired when the `noink` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "no-bar-changed",
          "description": "Fired when the `noBar` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "no-slide-changed",
          "description": "Fired when the `noSlide` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "scrollable-changed",
          "description": "Fired when the `scrollable` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "fit-container-changed",
          "description": "Fired when the `fitContainer` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "align-bottom-changed",
          "description": "Fired when the `alignBottom` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "auto-select-changed",
          "description": "Fired when the `autoSelect` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "auto-select-delay-changed",
          "description": "Fired when the `autoSelectDelay` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-paper-tabs"
    },
    {
      "description": "Example:\n ```html\n <isu-picker id=\"picker\" label=\"单选\" mode=\"text\" text=\"99\" attr-for-value=\"id\" placeholder=\"请选择\" clearable></isu-picker>\n <isu-picker id=\"picker1\" label=\"多选\" value=\"1,2,3,4\" attr-for-value=\"id\" multi placeholder=\"请选择\" picker-meta='[{\"field\": \"label\", \"label\": \"选项\"}, {\"field\": \"business\", \"label\": \"业务范围\"}]'></isu-picker>\n <isu-picker id=\"pickerAll\" label=\"多选\" value=\"1,2,3,4\" attr-for-value=\"id\" show-all\n multi placeholder=\"请选择\" picker-meta='[{\"field\": \"label\", \"label\": \"选项\"}, {\"field\": \"business\", \"label\": \"业务范围\"}]'></isu-picker>\n <isu-picker id=\"picker3\" label=\"只读\" value=\"1,2,3\" attr-for-value=\"id\" multi readonly></isu-picker>\n <isu-picker id=\"picker4\" label=\"必填\" value=\"1,2,3\" attr-for-value=\"id\" multi required enable-hotkey></isu-picker>\n <isu-picker id=\"pickerNum\" label=\"限制多选数量\"  attr-for-value=\"id\" multi-limit=\"3\" multi required prompt=\"公司不能为空\" enable-hotkey></isu-picker>\n <isu-picker id=\"picker5\" label=\"修改组件大小\" multi=\"\" attr-for-value=\"id\" value=\"1,2,3,4,5\"></isu-picker>\n <isu-picker id=\"picker6\" label=\"默认\" attr-for-value=\"id\"></isu-picker>\n <isu-picker id=\"picker7\" label=\"自定义搜索字段\" attr-for-value=\"id\"></isu-picker>\n <isu-picker id=\"picker8\" src=\"/init.do\" label=\"自定义初始数据源\" attr-for-value=\"id\"></isu-picker>\n <isu-picker id=\"picker9\" label=\"通过接口搜索数据\" src=\"/init.do\" multi=\"\" attr-for-value=\"id\"></isu-picker>\n <isu-picker id=\"picker10\" label=\"键盘快捷键操作\" src=\"/api/listProduct\" attr-for-value=\"id\" keyword-path=\"request.keyword\" result-path=\"success.result\"\n fetch-param='{\"request\": {\"pageRequest\": {\"limit\": 10, \"start\": 0}}}'></isu-picker>\n ```\n\n ## Styling\n\n The following custom properties and mixins are available for styling:\n\n |Custom property | Description | Default|\n |----------------|-------------|----------|\n |`--isu-picker-width` | The width of the picker | 300px\n |`--isu-ui-font-family` | The font family of the picker | Microsoft YaHei\n |`--isu-ui-font-size` | The font size of the picker | 14px\n |`--isu-ui-bg` | The basic color of the selected tags,collapse tr`s color when hover tr | linear-gradient(315deg, var(--isu-ui-color_lightblue)  0%, var(--isu-ui-color_skyblue) 100%)\n |`--isu-ui-red` | The color of the selected tag`s delete shape when hover the tag | linear-gradient(315deg, #f9a7c3 0%, var(--isu-ui-color_pink) 100%);\n\n |`--isu-picker-input` | Mixin applied to the keyword input | {}\n |`--isu-picker-tag` | Mixin applied to the chosed tags | {}\n |`--isu-select-tag-deleter` | Mixin applied to the selected tag's delete tag | {}\n |`--isu-picker-dropdown` | Mixin applied to the dropdown table | {}\n |`--collapase-table-cell` | Mixin applied to the dropdown table's cell | {}",
      "summary": "",
      "path": "isu-picker.js",
      "properties": [
        {
          "name": "_pinyinUtil",
          "type": "Object | null | undefined",
          "description": "中文转拼音插件",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 344,
              "column": 6
            },
            "end": {
              "line": 350,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "_cacheSearchUtil",
          "type": "Object | null | undefined",
          "description": "缓存搜索插件",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 354,
              "column": 6
            },
            "end": {
              "line": 360,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "_fetchUtil",
          "type": "Object | null | undefined",
          "description": "发送请求和模拟数据的组件",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 364,
              "column": 6
            },
            "end": {
              "line": 370,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "label",
          "type": "string",
          "description": "The label of the picker.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 375,
              "column": 6
            },
            "end": {
              "line": 377,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "String",
          "description": "The placeholder of the select.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 382,
              "column": 6
            },
            "end": {
              "line": 384,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "value",
          "type": "string",
          "description": "The selected value of this select,  if `multi` is true,\nthe value will join with comma ( `selectedValues.map(selected => selected[this.attrForValue]).join(',')` ).",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 391,
              "column": 6
            },
            "end": {
              "line": 394,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "selectedValues",
          "type": "array",
          "description": "The selected value objects of this select.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 399,
              "column": 6
            },
            "end": {
              "line": 402,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "selectedItem",
          "type": "object",
          "description": "The selected item.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 407,
              "column": 6
            },
            "end": {
              "line": 410,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "src",
          "type": "string",
          "description": "A url for fetching local data, the response data of the request should be json.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 415,
              "column": 6
            },
            "end": {
              "line": 417,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "items",
          "type": "array",
          "description": "The candidate selection of this picker.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 429,
              "column": 6
            },
            "end": {
              "line": 431,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "_displayItems",
          "type": "array",
          "description": "下拉面板当前展示的数据集（默认显示items的前10条）",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 436,
              "column": 6
            },
            "end": {
              "line": 438,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "_userInputKeyword",
          "type": "string | null | undefined",
          "description": "用户输入的模糊搜索关键字",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 443,
              "column": 6
            },
            "end": {
              "line": 445,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "fieldsForIndex",
          "type": "array",
          "description": "Fields to build index for pinyin plugin.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 450,
              "column": 6
            },
            "end": {
              "line": 452,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "pickerMeta",
          "type": "array",
          "description": "下拉面板中展示的字段，默认为[{\"field\": \"label\", \"label\": \"选项\"}]",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 458,
              "column": 6
            },
            "end": {
              "line": 463,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[{\"field\":\"label\",\"label\":\"选项\"}]"
        },
        {
          "name": "attrForValue",
          "type": "string",
          "description": "Attribute name for value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 469,
              "column": 6
            },
            "end": {
              "line": 472,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"value\""
        },
        {
          "name": "attrForLabel",
          "type": "object",
          "description": "Attribute name for label.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 478,
              "column": 6
            },
            "end": {
              "line": 481,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "disablePinyinSearch",
          "type": "boolean | null | undefined",
          "description": "是否禁用拼音搜索",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 485,
              "column": 6
            },
            "end": {
              "line": 488,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true, if the selection is required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 495,
              "column": 6
            },
            "end": {
              "line": 498,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Set to true, if the picker is readonly.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 504,
              "column": 6
            },
            "end": {
              "line": 507,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "multi",
          "type": "boolean",
          "description": "If true, multiple selections are allowed.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 513,
              "column": 6
            },
            "end": {
              "line": 516,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "__focusIndex",
          "type": "number | null | undefined",
          "description": "下拉面板当前选项焦点",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 520,
              "column": 6
            },
            "end": {
              "line": 523,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "0"
        },
        {
          "name": "enableHotkey",
          "type": "boolean",
          "description": "If true, hotkeys for selecting items are allowed.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 529,
              "column": 6
            },
            "end": {
              "line": 532,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "multiLimit",
          "type": "number | null | undefined",
          "description": "多选限制选择的个数",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 536,
              "column": 6
            },
            "end": {
              "line": 536,
              "column": 24
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "fetchParam",
          "type": "Object",
          "description": "url`s params",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 542,
              "column": 6
            },
            "end": {
              "line": 544,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "keywordPath",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 546,
              "column": 6
            },
            "end": {
              "line": 549,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"keyword\""
        },
        {
          "name": "resultPath",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 551,
              "column": 6
            },
            "end": {
              "line": 553,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "text",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 554,
              "column": 6
            },
            "end": {
              "line": 558,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"__textChanged\"",
              "attributeType": "String"
            }
          }
        },
        {
          "name": "mode",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 559,
              "column": 6
            },
            "end": {
              "line": 562,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"default\""
        },
        {
          "name": "shortcutKey",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 563,
              "column": 6
            },
            "end": {
              "line": 566,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"Enter\""
        },
        {
          "name": "inputChinese",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 567,
              "column": 6
            },
            "end": {
              "line": 567,
              "column": 27
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "prompt",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 568,
              "column": 6
            },
            "end": {
              "line": 568,
              "column": 20
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 587,
              "column": 2
            },
            "end": {
              "line": 610,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__calcTagName",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 612,
              "column": 2
            },
            "end": {
              "line": 617,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            }
          ]
        },
        {
          "name": "_mkRequest",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 619,
              "column": 2
            },
            "end": {
              "line": 630,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "data"
            }
          ]
        },
        {
          "name": "_srcChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 632,
              "column": 2
            },
            "end": {
              "line": 654,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "src"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_getSelectedForItems",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 656,
              "column": 2
            },
            "end": {
              "line": 674,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_itemsChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 676,
              "column": 2
            },
            "end": {
              "line": 686,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "items",
              "defaultValue": "[]"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_userInputKeywordChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 688,
              "column": 2
            },
            "end": {
              "line": 733,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_selectedValuesChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 735,
              "column": 2
            },
            "end": {
              "line": 745,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_valueChanged",
          "description": "value属性变化监听函数",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 750,
              "column": 2
            },
            "end": {
              "line": 778,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__textChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 780,
              "column": 2
            },
            "end": {
              "line": 788,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "text"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_displayPlaceholder",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 790,
              "column": 2
            },
            "end": {
              "line": 792,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_selectItemAt",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 794,
              "column": 2
            },
            "end": {
              "line": 799,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "index"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_selectItem",
          "description": "选择选项",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 805,
              "column": 2
            },
            "end": {
              "line": 818,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_switchFocusItemAt",
          "description": "切换焦点到第n个元素，从0开始",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 825,
              "column": 2
            },
            "end": {
              "line": 838,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "index"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_isPickerCollapseHidden",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 840,
              "column": 2
            },
            "end": {
              "line": 842,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "__openCollapse",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 844,
              "column": 2
            },
            "end": {
              "line": 848,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  target: {\n    classList\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__inputFocus",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 850,
              "column": 2
            },
            "end": {
              "line": 855,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__collapsePosition",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 857,
              "column": 2
            },
            "end": {
              "line": 862,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__getElemPos",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 865,
              "column": 2
            },
            "end": {
              "line": 871,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "obj"
            }
          ]
        },
        {
          "name": "__focusOnKeywordInput",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 873,
              "column": 2
            },
            "end": {
              "line": 875,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_selectCollapseItem",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 877,
              "column": 2
            },
            "end": {
              "line": 882,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "event"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_keyDownHandler",
          "description": "输入框键盘按键事件",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 889,
              "column": 2
            },
            "end": {
              "line": 931,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "event"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_loadPinyinKeys",
          "description": "给对象根据fieldsForIndex给对应的字段做拼音缓存（字段值，字段值全拼和拼音首字母）",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 936,
              "column": 2
            },
            "end": {
              "line": 956,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            },
            {
              "name": "fieldsForIndex",
              "defaultValue": "[]"
            }
          ]
        },
        {
          "name": "deleteLastTag",
          "description": "Delete the last selected tag.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 961,
              "column": 2
            },
            "end": {
              "line": 965,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_deleteTag",
          "description": "删除Tag项，事件处理函数",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 970,
              "column": 2
            },
            "end": {
              "line": 975,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_getHotKey",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 977,
              "column": 2
            },
            "end": {
              "line": 979,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "index"
            }
          ]
        },
        {
          "name": "displayCollapse",
          "description": "Open or close the collapse",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 985,
              "column": 2
            },
            "end": {
              "line": 988,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "display",
              "type": "boolean",
              "description": "true to open the collapse."
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "toggleCollapse",
          "description": "Toggle collapse. Side effect: the picker input will get a focus.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 993,
              "column": 2
            },
            "end": {
              "line": 997,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "doFocus",
          "description": "Set focus to picker.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 1002,
              "column": 2
            },
            "end": {
              "line": 1004,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "validate",
          "description": "Validate, true if the select is set to be required and this.selectedValues.length > 0, or else false.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 1010,
              "column": 2
            },
            "end": {
              "line": 1016,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        },
        {
          "name": "clear",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 1018,
              "column": 2
            },
            "end": {
              "line": 1021,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-picker/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 55,
          "column": 0
        },
        "end": {
          "line": 1022,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuPicker",
      "attributes": [
        {
          "name": "label",
          "description": "The label of the picker.",
          "sourceRange": {
            "start": {
              "line": 375,
              "column": 6
            },
            "end": {
              "line": 377,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "placeholder",
          "description": "The placeholder of the select.",
          "sourceRange": {
            "start": {
              "line": 382,
              "column": 6
            },
            "end": {
              "line": 384,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        },
        {
          "name": "value",
          "description": "The selected value of this select,  if `multi` is true,\nthe value will join with comma ( `selectedValues.map(selected => selected[this.attrForValue]).join(',')` ).",
          "sourceRange": {
            "start": {
              "line": 391,
              "column": 6
            },
            "end": {
              "line": 394,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "selected-values",
          "description": "The selected value objects of this select.",
          "sourceRange": {
            "start": {
              "line": 399,
              "column": 6
            },
            "end": {
              "line": 402,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "selected-item",
          "description": "The selected item.",
          "sourceRange": {
            "start": {
              "line": 407,
              "column": 6
            },
            "end": {
              "line": 410,
              "column": 7
            }
          },
          "metadata": {},
          "type": "object"
        },
        {
          "name": "src",
          "description": "A url for fetching local data, the response data of the request should be json.",
          "sourceRange": {
            "start": {
              "line": 415,
              "column": 6
            },
            "end": {
              "line": 417,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "items",
          "description": "The candidate selection of this picker.",
          "sourceRange": {
            "start": {
              "line": 429,
              "column": 6
            },
            "end": {
              "line": 431,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "fields-for-index",
          "description": "Fields to build index for pinyin plugin.",
          "sourceRange": {
            "start": {
              "line": 450,
              "column": 6
            },
            "end": {
              "line": 452,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "picker-meta",
          "description": "下拉面板中展示的字段，默认为[{\"field\": \"label\", \"label\": \"选项\"}]",
          "sourceRange": {
            "start": {
              "line": 458,
              "column": 6
            },
            "end": {
              "line": 463,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "attr-for-value",
          "description": "Attribute name for value.",
          "sourceRange": {
            "start": {
              "line": 469,
              "column": 6
            },
            "end": {
              "line": 472,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "attr-for-label",
          "description": "Attribute name for label.",
          "sourceRange": {
            "start": {
              "line": 478,
              "column": 6
            },
            "end": {
              "line": 481,
              "column": 7
            }
          },
          "metadata": {},
          "type": "object"
        },
        {
          "name": "disable-pinyin-search",
          "description": "是否禁用拼音搜索",
          "sourceRange": {
            "start": {
              "line": 485,
              "column": 6
            },
            "end": {
              "line": 488,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "required",
          "description": "Set to true, if the selection is required.",
          "sourceRange": {
            "start": {
              "line": 495,
              "column": 6
            },
            "end": {
              "line": 498,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the picker is readonly.",
          "sourceRange": {
            "start": {
              "line": 504,
              "column": 6
            },
            "end": {
              "line": 507,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "multi",
          "description": "If true, multiple selections are allowed.",
          "sourceRange": {
            "start": {
              "line": 513,
              "column": 6
            },
            "end": {
              "line": 516,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "enable-hotkey",
          "description": "If true, hotkeys for selecting items are allowed.",
          "sourceRange": {
            "start": {
              "line": 529,
              "column": 6
            },
            "end": {
              "line": 532,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "multi-limit",
          "description": "多选限制选择的个数",
          "sourceRange": {
            "start": {
              "line": 536,
              "column": 6
            },
            "end": {
              "line": 536,
              "column": 24
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "fetch-param",
          "description": "url`s params",
          "sourceRange": {
            "start": {
              "line": 542,
              "column": 6
            },
            "end": {
              "line": 544,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object"
        },
        {
          "name": "keyword-path",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 546,
              "column": 6
            },
            "end": {
              "line": 549,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "result-path",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 551,
              "column": 6
            },
            "end": {
              "line": 553,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "text",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 554,
              "column": 6
            },
            "end": {
              "line": 558,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "mode",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 559,
              "column": 6
            },
            "end": {
              "line": 562,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "shortcut-key",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 563,
              "column": 6
            },
            "end": {
              "line": 566,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "input-chinese",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 567,
              "column": 6
            },
            "end": {
              "line": 567,
              "column": 27
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "prompt",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 568,
              "column": 6
            },
            "end": {
              "line": 568,
              "column": 20
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "selected-values-changed",
          "description": "Fired when the `selectedValues` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "selected-item-changed",
          "description": "Fired when the `selectedItem` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "text-changed",
          "description": "Fired when the `text` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-picker"
    },
    {
      "description": "`isu-progress`\n\nExample:\n```html\n\n```",
      "summary": "",
      "path": "isu-progress.js",
      "properties": [
        {
          "name": "__dataEnabled",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 167,
              "column": 6
            },
            "end": {
              "line": 167,
              "column": 24
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "defaultValue": "false",
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "__dataClientsReady",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1116,
              "column": 6
            },
            "end": {
              "line": 1116,
              "column": 30
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataPendingClients",
          "type": "Array",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1118,
              "column": 6
            },
            "end": {
              "line": 1118,
              "column": 32
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataToNotify",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1120,
              "column": 6
            },
            "end": {
              "line": 1120,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataLinkedPaths",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1122,
              "column": 6
            },
            "end": {
              "line": 1122,
              "column": 29
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataHasPaths",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1124,
              "column": 6
            },
            "end": {
              "line": 1124,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataCompoundStorage",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1126,
              "column": 6
            },
            "end": {
              "line": 1126,
              "column": 33
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataHost",
          "type": "Polymer_PropertyEffects",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1128,
              "column": 6
            },
            "end": {
              "line": 1128,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataTemp",
          "type": "!Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1130,
              "column": 6
            },
            "end": {
              "line": 1130,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataClientsInitialized",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1132,
              "column": 6
            },
            "end": {
              "line": 1132,
              "column": 36
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__data",
          "type": "!Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1134,
              "column": 6
            },
            "end": {
              "line": 1134,
              "column": 18
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataPending",
          "type": "(!Object | null)",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1136,
              "column": 6
            },
            "end": {
              "line": 1136,
              "column": 25
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__dataOld",
          "type": "!Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1138,
              "column": 6
            },
            "end": {
              "line": 1138,
              "column": 21
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__computeEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1140,
              "column": 6
            },
            "end": {
              "line": 1140,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__reflectEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1142,
              "column": 6
            },
            "end": {
              "line": 1142,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__notifyEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1144,
              "column": 6
            },
            "end": {
              "line": 1144,
              "column": 27
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__propagateEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1146,
              "column": 6
            },
            "end": {
              "line": 1146,
              "column": 30
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__observeEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1148,
              "column": 6
            },
            "end": {
              "line": 1148,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__readOnly",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1150,
              "column": 6
            },
            "end": {
              "line": 1150,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__templateInfo",
          "type": "!TemplateInfo",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1152,
              "column": 6
            },
            "end": {
              "line": 1152,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "PROPERTY_EFFECT_TYPES",
          "type": "!Object.<string, string>",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1158,
              "column": 4
            },
            "end": {
              "line": 1160,
              "column": 5
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_template",
          "type": "HTMLTemplateElement",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 523,
              "column": 6
            },
            "end": {
              "line": 523,
              "column": 21
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_importPath",
          "type": "string",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 525,
              "column": 6
            },
            "end": {
              "line": 525,
              "column": 23
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "rootPath",
          "type": "string",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 527,
              "column": 6
            },
            "end": {
              "line": 527,
              "column": 20
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "importPath",
          "type": "string",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 529,
              "column": 6
            },
            "end": {
              "line": 529,
              "column": 22
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "root",
          "type": "(StampedTemplate | HTMLElement | ShadowRoot)",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 531,
              "column": 6
            },
            "end": {
              "line": 531,
              "column": 16
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "$",
          "type": "!Object.<string, !Element>",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 533,
              "column": 6
            },
            "end": {
              "line": 533,
              "column": 13
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "type",
          "type": "string | null | undefined",
          "description": "进度条类型，可以是line、dashboard、circle中的一个",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 136,
              "column": 6
            },
            "end": {
              "line": 140,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"onTypeChange\"",
              "attributeType": "String"
            }
          },
          "defaultValue": "\"line\""
        },
        {
          "name": "percentage",
          "type": "number | null | undefined",
          "description": "进度值",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 144,
              "column": 6
            },
            "end": {
              "line": 148,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"onPercentageChange\"",
              "attributeType": "Number"
            }
          },
          "defaultValue": "0"
        },
        {
          "name": "strokeWidth",
          "type": "number | null | undefined",
          "description": "进度条宽度",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 152,
              "column": 6
            },
            "end": {
              "line": 155,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "6"
        },
        {
          "name": "status",
          "type": "string | null | undefined",
          "description": "状态，可以是success/exception/warning中的一个",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 159,
              "column": 6
            },
            "end": {
              "line": 163,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"onStatusChange\"",
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "color",
          "type": "string | null | undefined",
          "description": "进度条的背景色",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 167,
              "column": 6
            },
            "end": {
              "line": 169,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "width",
          "type": "number | null | undefined",
          "description": "环形进度条画布宽度",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 173,
              "column": 6
            },
            "end": {
              "line": 176,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "126"
        },
        {
          "name": "showText",
          "type": "boolean | null | undefined",
          "description": "是否显示进度条文字内容",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 183,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "relativeStrokeWidth",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 184,
              "column": 6
            },
            "end": {
              "line": 187,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Number"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_stampTemplate",
          "description": "Stamps the provided template and performs instance-time setup for\nPolymer template features, including data bindings, declarative event\nlisteners, and the `this.$` map of `id`'s to nodes.  A document fragment\nis returned containing the stamped DOM, ready for insertion into the\nDOM.\n\nThis method may be called more than once; however note that due to\n`shadycss` polyfill limitations, only styles from templates prepared\nusing `ShadyCSS.prepareTemplate` will be correctly polyfilled (scoped\nto the shadow root and support CSS custom properties), and note that\n`ShadyCSS.prepareTemplate` may only be called once per element. As such,\nany styles required by in runtime-stamped templates must be included\nin the main element template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2490,
              "column": 4
            },
            "end": {
              "line": 2515,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template to stamp"
            }
          ],
          "return": {
            "type": "!StampedTemplate",
            "desc": "Cloned template content"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_addMethodEventListenerToNode",
          "description": "Adds an event listener by method name for the event provided.\n\nThis method generates a handler function that looks up the method\nname at handling time.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 527,
              "column": 4
            },
            "end": {
              "line": 532,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!EventTarget",
              "description": "Node to add listener on"
            },
            {
              "name": "eventName",
              "type": "string",
              "description": "Name of event"
            },
            {
              "name": "methodName",
              "type": "string",
              "description": "Name of method"
            },
            {
              "name": "context",
              "type": "*=",
              "description": "Context the method will be called on (defaults\n  to `node`)"
            }
          ],
          "return": {
            "type": "Function",
            "desc": "Generated handler function"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_addEventListenerToNode",
          "description": "Override point for adding custom or simulated event handling.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 543,
              "column": 4
            },
            "end": {
              "line": 545,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!EventTarget",
              "description": "Node to add event listener to"
            },
            {
              "name": "eventName",
              "type": "string",
              "description": "Name of event"
            },
            {
              "name": "handler",
              "type": "function (!Event): void",
              "description": "Listener function to add"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_removeEventListenerFromNode",
          "description": "Override point for adding custom or simulated event handling.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 556,
              "column": 4
            },
            "end": {
              "line": 558,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!EventTarget",
              "description": "Node to remove event listener from"
            },
            {
              "name": "eventName",
              "type": "string",
              "description": "Name of event"
            },
            {
              "name": "handler",
              "type": "function (!Event): void",
              "description": "Listener function to remove"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_createPropertyAccessor",
          "description": "Creates a setter/getter pair for the named property with its own\nlocal storage.  The getter returns the value in the local storage,\nand the setter calls `_setProperty`, which updates the local storage\nfor the property and enqueues a `_propertiesChanged` callback.\n\nThis method may be called on a prototype or an instance.  Calling\nthis method may overwrite a property value that already exists on\nthe prototype/instance by creating the accessor.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 113,
              "column": 4
            },
            "end": {
              "line": 122,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "readOnly",
              "type": "boolean=",
              "description": "When true, no setter is created; the\n  protected `_setProperty` function must be used to set the property"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_addPropertyToAttributeMap",
          "description": "Adds the given `property` to a map matching attribute names\nto property names, using `attributeNameForProperty`. This map is\nused when deserializing attribute values to properties.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 132,
              "column": 4
            },
            "end": {
              "line": 140,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_definePropertyAccessor",
          "description": "Defines a property accessor for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 149,
              "column": 5
            },
            "end": {
              "line": 162,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "readOnly",
              "type": "boolean=",
              "description": "When true, no setter is created"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "ready",
          "description": "Stamps the element template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 644,
              "column": 4
            },
            "end": {
              "line": 650,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_initializeProperties",
          "description": "Overrides the default `PropertyAccessors` to ensure class\nmetaprogramming related to property accessors and effects has\ncompleted (calls `finalize`).\n\nIt also initializes any property defaults provided via `value` in\n`properties` metadata.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 548,
              "column": 4
            },
            "end": {
              "line": 580,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_initializeInstanceProperties",
          "description": "Called at ready time with bag of instance properties that overwrote\naccessors when the element upgraded.\n\nThe default implementation sets these properties back into the\nsetter at ready time.  This method is provided as an override\npoint for customizing or providing more efficient initialization.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 235,
              "column": 4
            },
            "end": {
              "line": 237,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of property values that were overwritten\n  when creating property accessors."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_setProperty",
          "description": "Updates the local storage for a property (via `_setPendingProperty`)\nand enqueues a `_proeprtiesChanged` callback.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 249,
              "column": 4
            },
            "end": {
              "line": 253,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_getProperty",
          "description": "Returns the value for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 262,
              "column": 4
            },
            "end": {
              "line": 264,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of property"
            }
          ],
          "return": {
            "type": "*",
            "desc": "Value for the given property"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_setPendingProperty",
          "description": "Updates the local storage for a property, records the previous value,\nand adds it to the set of \"pending changes\" that will be passed to the\n`_propertiesChanged` callback.  This method does not enqueue the\n`_propertiesChanged` callback.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 280,
              "column": 4
            },
            "end": {
              "line": 296,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set"
            },
            {
              "name": "ext",
              "type": "boolean=",
              "description": "Not used here; affordance for closure"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property changed"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_invalidateProperties",
          "description": "Marks the properties as invalid, and enqueues an async\n`_propertiesChanged` callback.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 307,
              "column": 4
            },
            "end": {
              "line": 317,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_enableProperties",
          "description": "Call to enable property accessor processing. Before this method is\ncalled accessor values will be set but side effects are\nqueued. When called, any pending side effects occur immediately.\nFor elements, generally `connectedCallback` is a normal spot to do so.\nIt is safe to call this method multiple times as it only turns on\nproperty accessors once.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 331,
              "column": 4
            },
            "end": {
              "line": 340,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_flushProperties",
          "description": "Calls the `_propertiesChanged` callback with the current set of\npending changes (and old values recorded when pending changes were\nset), and resets the pending set of changes. Generally, this method\nshould not be called in user code.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 352,
              "column": 4
            },
            "end": {
              "line": 361,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_shouldPropertiesChange",
          "description": "Called in `_flushProperties` to determine if `_propertiesChanged`\nshould be called. The default implementation returns true if\nproperties are pending. Override to customize when\n`_propertiesChanged` is called.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 376,
              "column": 4
            },
            "end": {
              "line": 378,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "currentProps",
              "type": "!Object",
              "description": "Bag of all current accessor values"
            },
            {
              "name": "changedProps",
              "type": "?Object",
              "description": "Bag of properties changed since the last\n  call to `_propertiesChanged`"
            },
            {
              "name": "oldProps",
              "type": "?Object",
              "description": "Bag of previous values for each property\n  in `changedProps`"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "true if changedProps is truthy"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_propertiesChanged",
          "description": "Callback called when any properties with accessors created via\n`_createPropertyAccessor` have been set.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 393,
              "column": 4
            },
            "end": {
              "line": 394,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "currentProps",
              "type": "!Object",
              "description": "Bag of all current accessor values"
            },
            {
              "name": "changedProps",
              "type": "?Object",
              "description": "Bag of properties changed since the last\n  call to `_propertiesChanged`"
            },
            {
              "name": "oldProps",
              "type": "?Object",
              "description": "Bag of previous values for each property\n  in `changedProps`"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_shouldPropertyChange",
          "description": "Method called to determine whether a property value should be\nconsidered as a change and cause the `_propertiesChanged` callback\nto be enqueued.\n\nThe default implementation returns `true` if a strict equality\ncheck fails. The method always returns false for `NaN`.\n\nOverride this method to e.g. provide stricter checking for\nObjects/Arrays when using immutable patterns.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 415,
              "column": 4
            },
            "end": {
              "line": 422,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "value",
              "type": "*",
              "description": "New property value"
            },
            {
              "name": "old",
              "type": "*",
              "description": "Previous property value"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Whether the property should be considered a change\n  and enqueue a `_proeprtiesChanged` callback"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "attributeChangedCallback",
          "description": "Implements native Custom Elements `attributeChangedCallback` to\nset an attribute value to a property via `_attributeToProperty`.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 436,
              "column": 4
            },
            "end": {
              "line": 443,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "name",
              "type": "string",
              "description": "Name of attribute that changed"
            },
            {
              "name": "old",
              "type": "?string",
              "description": "Old attribute value"
            },
            {
              "name": "value",
              "type": "?string",
              "description": "New attribute value"
            },
            {
              "name": "namespace",
              "type": "?string",
              "description": "Attribute namespace."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_attributeToProperty",
          "description": "Deserializes an attribute to its associated property.\n\nThis method calls the `_deserializeValue` method to convert the string to\na typed value.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 458,
              "column": 4
            },
            "end": {
              "line": 465,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "attribute",
              "type": "string",
              "description": "Name of attribute to deserialize."
            },
            {
              "name": "value",
              "type": "?string",
              "description": "of the attribute."
            },
            {
              "name": "type",
              "type": "*=",
              "description": "type to deserialize to, defaults to the value\nreturned from `typeForProperty`"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_propertyToAttribute",
          "description": "Serializes a property to its associated attribute.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 478,
              "column": 4
            },
            "end": {
              "line": 484,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name to reflect."
            },
            {
              "name": "attribute",
              "type": "string=",
              "description": "Attribute name to reflect to."
            },
            {
              "name": "value",
              "type": "*=",
              "description": "Property value to refect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_valueToNodeAttribute",
          "description": "Sets a typed value to an HTML attribute on a node.\n\nThis method calls the `_serializeValue` method to convert the typed\nvalue to a string.  If the `_serializeValue` method returns `undefined`,\nthe attribute will be removed (this is the default for boolean\ntype `false`).",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 500,
              "column": 4
            },
            "end": {
              "line": 510,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Element",
              "description": "Element to set attribute to."
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to serialize."
            },
            {
              "name": "attribute",
              "type": "string",
              "description": "Attribute name to serialize to."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_serializeValue",
          "description": "Converts a typed JavaScript value to a string.\n\nThis method is called when setting JS property values to\nHTML attributes.  Users may override this method to provide\nserialization for custom types.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 524,
              "column": 4
            },
            "end": {
              "line": 531,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value",
              "type": "*",
              "description": "Property value to serialize."
            }
          ],
          "return": {
            "type": "(string | undefined)",
            "desc": "String serialized from the provided\nproperty  value."
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_deserializeValue",
          "description": "Converts a string to a typed JavaScript value.\n\nThis method is called when reading HTML attribute values to\nJS properties.  Users may override this method to provide\ndeserialization for custom `type`s. Types for `Boolean`, `String`,\nand `Number` convert attributes to the expected types.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 546,
              "column": 4
            },
            "end": {
              "line": 555,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value",
              "type": "?string",
              "description": "Value to deserialize."
            },
            {
              "name": "type",
              "type": "*=",
              "description": "Type to deserialize the string to."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Typed value deserialized from the provided string."
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "_initializeProtoProperties",
          "description": "Overrides `PropertyAccessors` implementation to provide a\nmore efficient implementation of initializing properties from\nthe prototype on the instance.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1190,
              "column": 4
            },
            "end": {
              "line": 1194,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "Object",
              "description": "Properties to initialize on the prototype"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_ensureAttribute",
          "description": "Ensures the element has the given attribute. If it does not,\nassigns the given value to the attribute.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 195,
              "column": 4
            },
            "end": {
              "line": 200,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "attribute",
              "type": "string",
              "description": "Name of attribute to ensure is set."
            },
            {
              "name": "value",
              "type": "string",
              "description": "of the attribute."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "_hasAccessor",
          "description": "Returns true if this library created an accessor for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 307,
              "column": 4
            },
            "end": {
              "line": 309,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if an accessor was created"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "_isPropertyPending",
          "description": "Returns true if the specified property has a pending change.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 319,
              "column": 4
            },
            "end": {
              "line": 321,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "prop",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if property has a pending change"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "_addPropertyEffect",
          "description": "Equivalent to static `addPropertyEffect` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1229,
              "column": 4
            },
            "end": {
              "line": 1237,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property that should trigger the effect"
            },
            {
              "name": "type",
              "type": "string",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_removePropertyEffect",
          "description": "Removes the given property effect.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1248,
              "column": 4
            },
            "end": {
              "line": 1254,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property the effect was associated with"
            },
            {
              "name": "type",
              "type": "string",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object to remove"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasPropertyEffect",
          "description": "Returns whether the current prototype/instance has a property effect\nof a certain type.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1267,
              "column": 4
            },
            "end": {
              "line": 1270,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "type",
              "type": "string=",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasReadOnlyEffect",
          "description": "Returns whether the current prototype/instance has a \"read only\"\naccessor for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1282,
              "column": 4
            },
            "end": {
              "line": 1284,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasNotifyEffect",
          "description": "Returns whether the current prototype/instance has a \"notify\"\nproperty effect for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1296,
              "column": 4
            },
            "end": {
              "line": 1298,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasReflectEffect",
          "description": "Returns whether the current prototype/instance has a \"reflect to\nattribute\" property effect for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1310,
              "column": 4
            },
            "end": {
              "line": 1312,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_hasComputedEffect",
          "description": "Returns whether the current prototype/instance has a \"computed\"\nproperty effect for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1324,
              "column": 4
            },
            "end": {
              "line": 1326,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "True if the prototype/instance has an effect of this\n    type"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_setPendingPropertyOrPath",
          "description": "Sets a pending property or path.  If the root property of the path in\nquestion had no accessor, the path is set, otherwise it is enqueued\nvia `_setPendingProperty`.\n\nThis function isolates relatively expensive functionality necessary\nfor the public API (`set`, `setProperties`, `notifyPath`, and property\nchange listeners via {{...}} bindings), such that it is only done\nwhen paths enter the system, and not at every propagation step.  It\nalso sets a `__dataHasPaths` flag on the instance which is used to\nfast-path slower path-matching code in the property effects host paths.\n\n`path` can be a path string or array of path parts as accepted by the\npublic API.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1359,
              "column": 4
            },
            "end": {
              "line": 1391,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(number | string)>)",
              "description": "Path to set"
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set"
            },
            {
              "name": "shouldNotify",
              "type": "boolean=",
              "description": "Set to true if this change should\n cause a property notification event dispatch"
            },
            {
              "name": "isPathNotification",
              "type": "boolean=",
              "description": "If the path being set is a path\n  notification of an already changed value, as opposed to a request\n  to set and notify the change.  In the latter `false` case, a dirty\n  check is performed and then the value is set to the path before\n  enqueuing the pending property change."
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property/path was enqueued in\n  the pending changes bag."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_setUnmanagedPropertyToNode",
          "description": "Applies a value to a non-Polymer element/node's property.\n\nThe implementation makes a best-effort at binding interop:\nSome native element properties have side-effects when\nre-setting the same value (e.g. setting `<input>.value` resets the\ncursor position), so we do a dirty-check before setting the value.\nHowever, for better interop with non-Polymer custom elements that\naccept objects, we explicitly re-set object changes coming from the\nPolymer world (which may include deep object changes without the\ntop reference changing), erring on the side of providing more\ninformation.\n\nUsers may override this method to provide alternate approaches.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1415,
              "column": 4
            },
            "end": {
              "line": 1427,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "!Node",
              "description": "The node to set a property on"
            },
            {
              "name": "prop",
              "type": "string",
              "description": "The property to set"
            },
            {
              "name": "value",
              "type": "*",
              "description": "The value to set"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_enqueueClient",
          "description": "Enqueues the given client on a list of pending clients, whose\npending property changes can later be flushed via a call to\n`_flushClients`.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1535,
              "column": 4
            },
            "end": {
              "line": 1540,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "client",
              "type": "Object",
              "description": "PropertyEffects client to enqueue"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_flushClients",
          "description": "Flushes any clients previously enqueued via `_enqueueClient`, causing\ntheir `_flushProperties` method to run.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1563,
              "column": 4
            },
            "end": {
              "line": 1574,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__enableOrFlushClients",
          "description": "(c) the stamped dom enables.",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1588,
              "column": 4
            },
            "end": {
              "line": 1601,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_readyClients",
          "description": "Implements `PropertyEffects`'s `_readyClients` call. Attaches\nelement dom by calling `_attachDom` with the dom stamped from the\nelement's template via `_stampTemplate`. Note that this allows\nclient dom to be attached to the element prior to any observers\nrunning.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 662,
              "column": 4
            },
            "end": {
              "line": 671,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "setProperties",
          "description": "Sets a bag of property changes to this instance, and\nsynchronously processes all effects of the properties as a batch.\n\nProperty names must be simple properties, not paths.  Batched\npath propagation is not supported.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1632,
              "column": 4
            },
            "end": {
              "line": 1643,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of one or more key-value pairs whose key is\n  a property and value is the new value to set for that property."
            },
            {
              "name": "setReadOnly",
              "type": "boolean=",
              "description": "When true, any private values set in\n  `props` will be set. By default, `setProperties` will not set\n  `readOnly: true` root properties."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_propagatePropertyChanges",
          "description": "Called to propagate any property changes to stamped template nodes\nmanaged by this element.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1732,
              "column": 4
            },
            "end": {
              "line": 1742,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "changedProps",
              "type": "Object",
              "description": "Bag of changed properties"
            },
            {
              "name": "oldProps",
              "type": "Object",
              "description": "Bag of previous values for changed properties"
            },
            {
              "name": "hasPaths",
              "type": "boolean",
              "description": "True with `props` contains one or more paths"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "linkPaths",
          "description": "Aliases one data path as another, such that path notifications from one\nare routed to the other.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1754,
              "column": 4
            },
            "end": {
              "line": 1759,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "to",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Target path to link."
            },
            {
              "name": "from",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Source path to link."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "unlinkPaths",
          "description": "Removes a data path alias previously established with `_linkPaths`.\n\nNote, the path to unlink should be the target (`to`) used when\nlinking the paths.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1772,
              "column": 4
            },
            "end": {
              "line": 1777,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Target path to unlink."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "notifySplices",
          "description": "Notify that an array has changed.\n\nExample:\n\n    this.items = [ {name: 'Jim'}, {name: 'Todd'}, {name: 'Bill'} ];\n    ...\n    this.items.splice(1, 1, {name: 'Sam'});\n    this.items.push({name: 'Bob'});\n    this.notifySplices('items', [\n      { index: 1, removed: [{name: 'Todd'}], addedCount: 1,\n        object: this.items, type: 'splice' },\n      { index: 3, removed: [], addedCount: 1,\n        object: this.items, type: 'splice'}\n    ]);",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1813,
              "column": 4
            },
            "end": {
              "line": 1817,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "string",
              "description": "Path that should be notified."
            },
            {
              "name": "splices",
              "type": "Array",
              "description": "Array of splice records indicating ordered\n  changes that occurred to the array. Each record should have the\n  following fields:\n   * index: index at which the change occurred\n   * removed: array of items that were removed from this index\n   * addedCount: number of new items added at this index\n   * object: a reference to the array in question\n   * type: the string literal 'splice'\n\n  Note that splice records _must_ be normalized such that they are\n  reported in index order (raw results from `Object.observe` are not\n  ordered and must be normalized/merged before notifying)."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "get",
          "description": "Convenience method for reading a value from a path.\n\nNote, if any part in the path is undefined, this method returns\n`undefined` (this method does not throw when dereferencing undefined\npaths).",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1839,
              "column": 4
            },
            "end": {
              "line": 1841,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to the value\n  to read.  The path may be specified as a string (e.g. `foo.bar.baz`)\n  or an array of path parts (e.g. `['foo.bar', 'baz']`).  Note that\n  bracketed expressions are not supported; string-based path parts\n  *must* be separated by dots.  Note that when dereferencing array\n  indices, the index may be used as a dotted part directly\n  (e.g. `users.12.name` or `['users', 12, 'name']`)."
            },
            {
              "name": "root",
              "type": "Object=",
              "description": "Root object from which the path is evaluated."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Value at the path, or `undefined` if any part of the path\n  is undefined."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "set",
          "description": "Convenience method for setting a value to a path and notifying any\nelements bound to the same path.\n\nNote, if any part in the path except for the last is undefined,\nthis method does nothing (this method does not throw when\ndereferencing undefined paths).",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1865,
              "column": 4
            },
            "end": {
              "line": 1875,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to the value\n  to write.  The path may be specified as a string (e.g. `'foo.bar.baz'`)\n  or an array of path parts (e.g. `['foo.bar', 'baz']`).  Note that\n  bracketed expressions are not supported; string-based path parts\n  *must* be separated by dots.  Note that when dereferencing array\n  indices, the index may be used as a dotted part directly\n  (e.g. `'users.12.name'` or `['users', 12, 'name']`)."
            },
            {
              "name": "value",
              "type": "*",
              "description": "Value to set at the specified path."
            },
            {
              "name": "root",
              "type": "Object=",
              "description": "Root object from which the path is evaluated.\n  When specified, no notification will occur."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "push",
          "description": "Adds items onto the end of the array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.push`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1892,
              "column": 4
            },
            "end": {
              "line": 1901,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            },
            {
              "name": "items",
              "type": "...*",
              "rest": true,
              "description": "Items to push onto array"
            }
          ],
          "return": {
            "type": "number",
            "desc": "New length of the array."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "pop",
          "description": "Removes an item from the end of array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.pop`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1917,
              "column": 4
            },
            "end": {
              "line": 1926,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Item that was removed."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "splice",
          "description": "Starting from the start index specified, removes 0 or more items\nfrom the array and inserts 0 or more new items in their place.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.splice`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1946,
              "column": 4
            },
            "end": {
              "line": 1983,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            },
            {
              "name": "start",
              "type": "number",
              "description": "Index from which to start removing/inserting."
            },
            {
              "name": "deleteCount",
              "type": "number=",
              "description": "Number of items to remove."
            },
            {
              "name": "items",
              "type": "...*",
              "rest": true,
              "description": "Items to insert into array."
            }
          ],
          "return": {
            "type": "Array",
            "desc": "Array of removed items."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "shift",
          "description": "Removes an item from the beginning of array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.pop`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1999,
              "column": 4
            },
            "end": {
              "line": 2008,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            }
          ],
          "return": {
            "type": "*",
            "desc": "Item that was removed."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "unshift",
          "description": "Adds items onto the beginning of the array at the path specified.\n\nThe arguments after `path` and return value match that of\n`Array.prototype.push`.\n\nThis method notifies other paths to the same array that a\nsplice occurred to the array.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2025,
              "column": 4
            },
            "end": {
              "line": 2033,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "(string | !Array.<(string | number)>)",
              "description": "Path to array."
            },
            {
              "name": "items",
              "type": "...*",
              "rest": true,
              "description": "Items to insert info array"
            }
          ],
          "return": {
            "type": "number",
            "desc": "New length of the array."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "notifyPath",
          "description": "Notify that a path has changed.\n\nExample:\n\n    this.item.user.name = 'Bob';\n    this.notifyPath('item.user.name');",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2049,
              "column": 4
            },
            "end": {
              "line": 2066,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "path",
              "type": "string",
              "description": "Path that should be notified."
            },
            {
              "name": "value",
              "type": "*=",
              "description": "Value at the path (optional)."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createReadOnlyProperty",
          "description": "Equivalent to static `createReadOnlyProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2080,
              "column": 4
            },
            "end": {
              "line": 2087,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "protectedSetter",
              "type": "boolean=",
              "description": "Creates a custom protected setter\n  when `true`."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createPropertyObserver",
          "description": "Equivalent to static `createPropertyObserver` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2103,
              "column": 4
            },
            "end": {
              "line": 2113,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "method",
              "type": "(string | function (*, *))",
              "description": "Function or name of observer method\n    to call"
            },
            {
              "name": "dynamicFn",
              "type": "boolean=",
              "description": "Whether the method name should be included as\n  a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createMethodObserver",
          "description": "Equivalent to static `createMethodObserver` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2127,
              "column": 4
            },
            "end": {
              "line": 2133,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating\n  whether method names should be included as a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createNotifyingProperty",
          "description": "Equivalent to static `createNotifyingProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2145,
              "column": 4
            },
            "end": {
              "line": 2153,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createReflectedProperty",
          "description": "Equivalent to static `createReflectedProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2166,
              "column": 4
            },
            "end": {
              "line": 2179,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_createComputedProperty",
          "description": "Equivalent to static `createComputedProperty` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2194,
              "column": 4
            },
            "end": {
              "line": 2200,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of computed property to set"
            },
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating\n  whether method names should be included as a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_marshalArgs",
          "description": "Gather the argument values for a method specified in the provided array\nof argument metadata.\n\nThe `path` and `value` arguments are used to fill in wildcard descriptor\nwhen the method is being called as a result of a path notification.",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2215,
              "column": 4
            },
            "end": {
              "line": 2236,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "args",
              "type": "!Array.<!MethodArg>",
              "description": "Array of argument metadata"
            },
            {
              "name": "path",
              "type": "string",
              "description": "Property/path name that triggered the method effect"
            },
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of current property changes"
            }
          ],
          "return": {
            "type": "Array.<*>",
            "desc": "Array of argument values"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_bindTemplate",
          "description": "Equivalent to static `bindTemplate` API but can be called on\nan instance to add effects at runtime.  See that method for\nfull API docs.\n\nThis method may be called on the prototype (for prototypical template\nbinding, to avoid creating accessors every instance) once per prototype,\nand will be called with `runtimeBinding: true` by `_stampTemplate` to\ncreate and link an instance of the template metadata associated with a\nparticular stamping.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2423,
              "column": 4
            },
            "end": {
              "line": 2446,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template containing binding\n  bindings"
            },
            {
              "name": "instanceBinding",
              "type": "boolean=",
              "description": "When false (default), performs\n  \"prototypical\" binding of the template and overwrites any previously\n  bound template for the class. When true (as passed from\n  `_stampTemplate`), the template info is instanced and linked into\n  the list of bound templates."
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Template metadata object; for `runtimeBinding`,\n  this is an instance of the prototypical template info"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_removeBoundDom",
          "description": "Removes and unbinds the nodes previously contained in the provided\nDocumentFragment returned from `_stampTemplate`.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2527,
              "column": 4
            },
            "end": {
              "line": 2548,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "dom",
              "type": "!StampedTemplate",
              "description": "DocumentFragment previously returned\n  from `_stampTemplate` associated with the nodes to be removed"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "connectedCallback",
          "description": "Provides a default implementation of the standard Custom Elements\n`connectedCallback`.\n\nThe default implementation enables the property effects system and\nflushes any pending properties, and updates shimmed CSS properties\nwhen using the ShadyCSS scoping/custom properties polyfill.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 631,
              "column": 4
            },
            "end": {
              "line": 636,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "disconnectedCallback",
          "description": "Called when the element is removed from a document",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-mixin.js",
            "start": {
              "line": 230,
              "column": 3
            },
            "end": {
              "line": 234,
              "column": 4
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesMixin"
        },
        {
          "name": "_attachDom",
          "description": "Attaches an element's stamped dom to itself. By default,\nthis method creates a `shadowRoot` and adds the dom to it.\nHowever, this method may be overridden to allow an element\nto put its dom in another location.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 686,
              "column": 4
            },
            "end": {
              "line": 706,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "dom",
              "type": "StampedTemplate",
              "description": "to attach to the element."
            }
          ],
          "return": {
            "type": "ShadowRoot",
            "desc": "node to which the dom has been attached."
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "updateStyles",
          "description": "When using the ShadyCSS scoping and custom property shim, causes all\nshimmed styles in this element (and its subtree) to be updated\nbased on current custom property values.\n\nThe optional parameter overrides inline custom property styles with an\nobject of properties where the keys are CSS properties, and the values\nare strings.\n\nExample: `this.updateStyles({'--color': 'blue'})`\n\nThese properties are retained unless a value of `null` is set.\n\nNote: This function does not support updating CSS mixins.\nYou can not dynamically change the value of an `@apply`.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 730,
              "column": 4
            },
            "end": {
              "line": 734,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "properties",
              "type": "Object=",
              "description": "Bag of custom property key/values to\n  apply to this element."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "resolveUrl",
          "description": "Rewrites a given URL relative to a base URL. The base URL defaults to\nthe original location of the document containing the `dom-module` for\nthis element. This method will return the same URL before and after\nbundling.\n\nNote that this function performs no resolution for URLs that start\nwith `/` (absolute URLs) or `#` (hash identifiers).  For general purpose\nURL resolution, use `window.URL`.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 752,
              "column": 4
            },
            "end": {
              "line": 757,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "url",
              "type": "string",
              "description": "URL to resolve."
            },
            {
              "name": "base",
              "type": "string=",
              "description": "Optional base URL to resolve against, defaults\nto the element's `importPath`"
            }
          ],
          "return": {
            "type": "string",
            "desc": "Rewritten URL relative to base"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "getProgressClass",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 191,
              "column": 2
            },
            "end": {
              "line": 193,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "type"
            },
            {
              "name": "status"
            }
          ]
        },
        {
          "name": "getStrokeColor",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 195,
              "column": 2
            },
            "end": {
              "line": 206,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "color"
            },
            {
              "name": "status"
            }
          ]
        },
        {
          "name": "getCircleParameter",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 208,
              "column": 2
            },
            "end": {
              "line": 218,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "trailPathStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 220,
              "column": 2
            },
            "end": {
              "line": 223,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "circlePathStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 225,
              "column": 2
            },
            "end": {
              "line": 232,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "computedWidth",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 234,
              "column": 2
            },
            "end": {
              "line": 236,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "width"
            },
            {
              "name": "strokeWidth"
            }
          ]
        },
        {
          "name": "trackPath",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 238,
              "column": 2
            },
            "end": {
              "line": 247,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "getCircleStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 249,
              "column": 2
            },
            "end": {
              "line": 251,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "width"
            }
          ]
        },
        {
          "name": "getStatusIconStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 253,
              "column": 2
            },
            "end": {
              "line": 263,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "status"
            }
          ]
        },
        {
          "name": "getStatusIconText",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 265,
              "column": 2
            },
            "end": {
              "line": 272,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "status"
            }
          ]
        },
        {
          "name": "getInnerBarStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 274,
              "column": 2
            },
            "end": {
              "line": 282,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "percentage"
            }
          ]
        },
        {
          "name": "getOuterBarStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 284,
              "column": 2
            },
            "end": {
              "line": 286,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "strokeWidth"
            }
          ]
        },
        {
          "name": "isShowStatus",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 288,
              "column": 2
            },
            "end": {
              "line": 291,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "status"
            },
            {
              "name": "showType"
            }
          ]
        },
        {
          "name": "isShowProgress",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 293,
              "column": 2
            },
            "end": {
              "line": 295,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "type"
            },
            {
              "name": "showType"
            }
          ]
        },
        {
          "name": "onTypeChange",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 297,
              "column": 2
            },
            "end": {
              "line": 302,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "type"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "onPercentageChange",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 304,
              "column": 2
            },
            "end": {
              "line": 308,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "percentage"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "onStatusChange",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 310,
              "column": 2
            },
            "end": {
              "line": 315,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "status"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [
        {
          "name": "_parseTemplate",
          "description": "Scans a template to produce template metadata.\n\nTemplate-specific metadata are stored in the object returned, and node-\nspecific metadata are stored in objects in its flattened `nodeInfoList`\narray.  Only nodes in the template that were parsed as nodes of\ninterest contain an object in `nodeInfoList`.  Each `nodeInfo` object\ncontains an `index` (`childNodes` index in parent) and optionally\n`parent`, which points to node info of its parent (including its index).\n\nThe template metadata object returned from this method has the following\nstructure (many fields optional):\n\n```js\n  {\n    // Flattened list of node metadata (for nodes that generated metadata)\n    nodeInfoList: [\n      {\n        // `id` attribute for any nodes with id's for generating `$` map\n        id: {string},\n        // `on-event=\"handler\"` metadata\n        events: [\n          {\n            name: {string},   // event name\n            value: {string},  // handler method name\n          }, ...\n        ],\n        // Notes when the template contained a `<slot>` for shady DOM\n        // optimization purposes\n        hasInsertionPoint: {boolean},\n        // For nested `<template>`` nodes, nested template metadata\n        templateInfo: {object}, // nested template metadata\n        // Metadata to allow efficient retrieval of instanced node\n        // corresponding to this metadata\n        parentInfo: {number},   // reference to parent nodeInfo>\n        parentIndex: {number},  // index in parent's `childNodes` collection\n        infoIndex: {number},    // index of this `nodeInfo` in `templateInfo.nodeInfoList`\n      },\n      ...\n    ],\n    // When true, the template had the `strip-whitespace` attribute\n    // or was nested in a template with that setting\n    stripWhitespace: {boolean},\n    // For nested templates, nested template content is moved into\n    // a document fragment stored here; this is an optimization to\n    // avoid the cost of nested template cloning\n    content: {DocumentFragment}\n  }\n```\n\nThis method kicks off a recursive treewalk as follows:\n\n```\n   _parseTemplate <---------------------+\n     _parseTemplateContent              |\n       _parseTemplateNode  <------------|--+\n         _parseTemplateNestedTemplate --+  |\n         _parseTemplateChildNodes ---------+\n         _parseTemplateNodeAttributes\n           _parseTemplateNodeAttribute\n\n```\n\nThese methods may be overridden to add custom metadata about templates\nto either `templateInfo` or `nodeInfo`.\n\nNote that this method may be destructive to the template, in that\ne.g. event annotations may be removed after being noted in the\ntemplate metadata.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 248,
              "column": 4
            },
            "end": {
              "line": 262,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template to parse"
            },
            {
              "name": "outerTemplateInfo",
              "type": "TemplateInfo=",
              "description": "Template metadata from the outer\n  template, for parsing nested templates"
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Parsed template metadata"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_parseTemplateContent",
          "description": "Overrides `PropertyEffects` to add map of dynamic functions on\ntemplate info, for consumption by `PropertyEffects` template binding\ncode. This map determines which method templates should have accessors\ncreated for them.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 772,
              "column": 4
            },
            "end": {
              "line": 778,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template"
            },
            {
              "name": "templateInfo",
              "type": "!TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "!NodeInfo",
              "description": "Node metadata for current template."
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "."
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_parseTemplateNode",
          "description": "Overrides default `TemplateStamp` implementation to add support for\nparsing bindings from `TextNode`'s' `textContent`.  A `bindings`\narray is added to `nodeInfo` and populated with binding metadata\nwith information capturing the binding target, and a `parts` array\nwith one or more metadata objects capturing the source(s) of the\nbinding.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2567,
              "column": 4
            },
            "end": {
              "line": 2584,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Node",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "NodeInfo",
              "description": "Node metadata for current template node"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_parseTemplateChildNodes",
          "description": "Parses template child nodes for the given root node.\n\nThis method also wraps whitelisted legacy template extensions\n(`is=\"dom-if\"` and `is=\"dom-repeat\"`) with their equivalent element\nwrappers, collapses text nodes, and strips whitespace from the template\nif the `templateInfo.stripWhitespace` setting was provided.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 323,
              "column": 4
            },
            "end": {
              "line": 361,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "root",
              "type": "Node",
              "description": "Root node whose `childNodes` will be parsed"
            },
            {
              "name": "templateInfo",
              "type": "!TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "!NodeInfo",
              "description": "Node metadata for current template."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_parseTemplateNestedTemplate",
          "description": "Overrides default `TemplateStamp` implementation to add support for\nbinding the properties that a nested template depends on to the template\nas `_host_<property>`.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2670,
              "column": 4
            },
            "end": {
              "line": 2683,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Node",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "NodeInfo",
              "description": "Node metadata for current template node"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_parseTemplateNodeAttributes",
          "description": "Parses template node attributes and adds node metadata to `nodeInfo`\nfor nodes of interest.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 404,
              "column": 4
            },
            "end": {
              "line": 413,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Element",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "!TemplateInfo",
              "description": "Template metadata for current\n    template"
            },
            {
              "name": "nodeInfo",
              "type": "!NodeInfo",
              "description": "Node metadata for current template."
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "_parseTemplateNodeAttribute",
          "description": "Overrides default `TemplateStamp` implementation to add support for\nparsing bindings from attributes.  A `bindings`\narray is added to `nodeInfo` and populated with binding metadata\nwith information capturing the binding target, and a `parts` array\nwith one or more metadata objects capturing the source(s) of the\nbinding.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2605,
              "column": 4
            },
            "end": {
              "line": 2654,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node",
              "type": "Element",
              "description": "Node to parse"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo",
              "description": "Template metadata for current template"
            },
            {
              "name": "nodeInfo",
              "type": "NodeInfo",
              "description": "Node metadata for current template node"
            },
            {
              "name": "name",
              "type": "string",
              "description": "Attribute name"
            },
            {
              "name": "value",
              "type": "string",
              "description": "Attribute value"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "`true` if the visited node added node-specific\n  metadata to `nodeInfo`"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_contentForTemplate",
          "description": "Returns the `content` document fragment for a given template.\n\nFor nested templates, Polymer performs an optimization to cache nested\ntemplate content to avoid the cost of cloning deeply nested templates.\nThis method retrieves the cached content for a given template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/template-stamp.js",
            "start": {
              "line": 461,
              "column": 4
            },
            "end": {
              "line": 464,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "HTMLTemplateElement",
              "description": "Template to retrieve `content` for"
            }
          ],
          "return": {
            "type": "DocumentFragment",
            "desc": "Content fragment"
          },
          "inheritedFrom": "TemplateStamp"
        },
        {
          "name": "createProperties",
          "description": "Override of PropertiesChanged createProperties to create accessors\nand property effects for all of the properties.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 384,
              "column": 4
            },
            "end": {
              "line": 389,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "props",
              "type": "!Object",
              "description": "."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "attributeNameForProperty",
          "description": "Returns an attribute name that corresponds to the given property.\nThe attribute name is the lowercased property name. Override to\ncustomize this mapping.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 82,
              "column": 4
            },
            "end": {
              "line": 84,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property to convert"
            }
          ],
          "return": {
            "type": "string",
            "desc": "Attribute name corresponding to the given property."
          },
          "inheritedFrom": "PropertiesChanged"
        },
        {
          "name": "typeForProperty",
          "description": "Overrides `PropertiesChanged` method to return type specified in the\nstatic `properties` object for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-mixin.js",
            "start": {
              "line": 192,
              "column": 3
            },
            "end": {
              "line": 195,
              "column": 4
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "name",
              "type": "string",
              "description": "Name of property"
            }
          ],
          "return": {
            "type": "*",
            "desc": "Type to which to deserialize attribute"
          },
          "inheritedFrom": "PropertiesMixin"
        },
        {
          "name": "createPropertiesForAttributes",
          "description": "Generates property accessors for all attributes in the standard\nstatic `observedAttributes` array.\n\nAttribute names are mapped to property names using the `dash-case` to\n`camelCase` convention",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-accessors.js",
            "start": {
              "line": 126,
              "column": 4
            },
            "end": {
              "line": 131,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyAccessors"
        },
        {
          "name": "addPropertyEffect",
          "description": "Ensures an accessor exists for the specified property, and adds\nto a list of \"property effects\" that will run when the accessor for\nthe specified property is set.  Effects are grouped by \"type\", which\nroughly corresponds to a phase in effect processing.  The effect\nmetadata should be in the following form:\n\n    {\n      fn: effectFunction, // Reference to function to call to perform effect\n      info: { ... }       // Effect metadata passed to function\n      trigger: {          // Optional triggering metadata; if not provided\n        name: string      // the property is treated as a wildcard\n        structured: boolean\n        wildcard: boolean\n      }\n    }\n\nEffects are called from `_propertiesChanged` in the following order by\ntype:\n\n1. COMPUTE\n2. PROPAGATE\n3. REFLECT\n4. OBSERVE\n5. NOTIFY\n\nEffect functions are called with the following signature:\n\n    effectFunction(inst, path, props, oldProps, info, hasPaths)",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2277,
              "column": 4
            },
            "end": {
              "line": 2279,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property that should trigger the effect"
            },
            {
              "name": "type",
              "type": "string",
              "description": "Effect type, from this.PROPERTY_EFFECT_TYPES"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createPropertyObserver",
          "description": "Creates a single-property observer for the given property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2292,
              "column": 4
            },
            "end": {
              "line": 2294,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "method",
              "type": "(string | function (*, *))",
              "description": "Function or name of observer method to call"
            },
            {
              "name": "dynamicFn",
              "type": "boolean=",
              "description": "Whether the method name should be included as\n  a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createMethodObserver",
          "description": "Creates a multi-property \"method observer\" based on the provided\nexpression, which should be a string in the form of a normal JavaScript\nfunction signature: `'methodName(arg1, [..., argn])'`.  Each argument\nshould correspond to a property or path in the context of this\nprototype (or instance), or may be a literal string or number.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2310,
              "column": 4
            },
            "end": {
              "line": 2312,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating"
            }
          ],
          "return": {
            "type": "void",
            "desc": "whether method names should be included as a dependency to the effect."
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createNotifyingProperty",
          "description": "Causes the setter for the given property to dispatch `<property>-changed`\nevents to notify of changes to the property.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2323,
              "column": 4
            },
            "end": {
              "line": 2325,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createReadOnlyProperty",
          "description": "Creates a read-only accessor for the given property.\n\nTo set the property, use the protected `_setProperty` API.\nTo create a custom protected setter (e.g. `_setMyProp()` for\nproperty `myProp`), pass `true` for `protectedSetter`.\n\nNote, if the property will have other property effects, this method\nshould be called first, before adding other effects.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2344,
              "column": 4
            },
            "end": {
              "line": 2346,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            },
            {
              "name": "protectedSetter",
              "type": "boolean=",
              "description": "Creates a custom protected setter\n  when `true`."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createReflectedProperty",
          "description": "Causes the setter for the given property to reflect the property value\nto a (dash-cased) attribute of the same name.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2357,
              "column": 4
            },
            "end": {
              "line": 2359,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Property name"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "createComputedProperty",
          "description": "Creates a computed property whose value is set to the result of the\nmethod described by the given `expression` each time one or more\narguments to the method changes.  The expression should be a string\nin the form of a normal JavaScript function signature:\n`'methodName(arg1, [..., argn])'`",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2376,
              "column": 4
            },
            "end": {
              "line": 2378,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of computed property to set"
            },
            {
              "name": "expression",
              "type": "string",
              "description": "Method expression"
            },
            {
              "name": "dynamicFn",
              "type": "(boolean | Object)=",
              "description": "Boolean or object map indicating whether\n  method names should be included as a dependency to the effect."
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "bindTemplate",
          "description": "Parses the provided template to ensure binding effects are created\nfor them, and then ensures property accessors are created for any\ndependent properties in the template.  Binding effects for bound\ntemplates are stored in a linked list on the instance so that\ntemplates can be efficiently stamped and unstamped.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2393,
              "column": 4
            },
            "end": {
              "line": 2395,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template containing binding\n  bindings"
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Template metadata object"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_addTemplatePropertyEffect",
          "description": "Overrides `PropertyEffects` to warn on use of undeclared properties in\ntemplate.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 792,
              "column": 4
            },
            "end": {
              "line": 809,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "templateInfo",
              "type": "Object",
              "description": "Template metadata to add effect to"
            },
            {
              "name": "prop",
              "type": "string",
              "description": "Property that should trigger the effect"
            },
            {
              "name": "effect",
              "type": "Object=",
              "description": "Effect metadata object"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_parseBindings",
          "description": "Called to parse text in a template (either attribute values or\ntextContent) into binding metadata.\n\nAny overrides of this method should return an array of binding part\nmetadata  representing one or more bindings found in the provided text\nand any \"literal\" text in between.  Any non-literal parts will be passed\nto `_evaluateBinding` when any dependencies change.  The only required\nfields of each \"part\" in the returned array are as follows:\n\n- `dependencies` - Array containing trigger metadata for each property\n  that should trigger the binding to update\n- `literal` - String containing text if the part represents a literal;\n  in this case no `dependencies` are needed\n\nAdditional metadata for use by `_evaluateBinding` may be provided in\neach part object as needed.\n\nThe default implementation handles the following types of bindings\n(one or more may be intermixed with literal strings):\n- Property binding: `[[prop]]`\n- Path binding: `[[object.prop]]`\n- Negated property or path bindings: `[[!prop]]` or `[[!object.prop]]`\n- Two-way property or path bindings (supports negation):\n  `{{prop}}`, `{{object.prop}}`, `{{!prop}}` or `{{!object.prop}}`\n- Inline computed method (supports negation):\n  `[[compute(a, 'literal', b)]]`, `[[!compute(a, 'literal', b)]]`\n\nThe default implementation uses a regular expression for best\nperformance. However, the regular expression uses a white-list of\nallowed characters in a data-binding, which causes problems for\ndata-bindings that do use characters not in this white-list.\n\nInstead of updating the white-list with all allowed characters,\nthere is a StrictBindingParser (see lib/mixins/strict-binding-parser)\nthat uses a state machine instead. This state machine is able to handle\nall characters. However, it is slightly less performant, therefore we\nextracted it into a separate optional mixin.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2730,
              "column": 4
            },
            "end": {
              "line": 2795,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "text",
              "type": "string",
              "description": "Text to parse from attribute or textContent"
            },
            {
              "name": "templateInfo",
              "type": "Object",
              "description": "Current template metadata"
            }
          ],
          "return": {
            "type": "Array.<!BindingPart>",
            "desc": "Array of binding part metadata"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_evaluateBinding",
          "description": "Called to evaluate a previously parsed binding part based on a set of\none or more changed dependencies.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 2812,
              "column": 4
            },
            "end": {
              "line": 2829,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "inst",
              "type": "!Polymer_PropertyEffects",
              "description": "Element that should be used as\n    scope for binding dependencies"
            },
            {
              "name": "part",
              "type": "BindingPart",
              "description": "Binding part metadata"
            },
            {
              "name": "path",
              "type": "string",
              "description": "Property/path that triggered this effect"
            },
            {
              "name": "props",
              "type": "Object",
              "description": "Bag of current property changes"
            },
            {
              "name": "oldProps",
              "type": "Object",
              "description": "Bag of previous values for changed properties"
            },
            {
              "name": "hasPaths",
              "type": "boolean",
              "description": "True with `props` contains one or more paths"
            }
          ],
          "return": {
            "type": "*",
            "desc": "Value the binding part evaluated to"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "finalize",
          "description": "Finalizes an element definition, including ensuring any super classes\nare also finalized. This includes ensuring property\naccessors exist on the element prototype. This method calls\n`_finalizeClass` to finalize each constructor in the prototype chain.",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-mixin.js",
            "start": {
              "line": 137,
              "column": 3
            },
            "end": {
              "line": 146,
              "column": 4
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertiesMixin"
        },
        {
          "name": "_finalizeClass",
          "description": "Override of PropertiesMixin _finalizeClass to create observers and\nfind the template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 348,
              "column": 4
            },
            "end": {
              "line": 357,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_prepareTemplate",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 360,
              "column": 4
            },
            "end": {
              "line": 374,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "createObservers",
          "description": "Creates observers for the given `observers` array.\nLeverages `PropertyEffects` to create observers.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 403,
              "column": 4
            },
            "end": {
              "line": 408,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "observers",
              "type": "Object",
              "description": "Array of observer descriptors for\n  this class"
            },
            {
              "name": "dynamicFns",
              "type": "Object",
              "description": "Object containing keys for any properties\n  that are functions and should trigger the effect when the function\n  reference is changed"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_processStyleText",
          "description": "Gather style text for a style element in the template.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 591,
              "column": 4
            },
            "end": {
              "line": 593,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "cssText",
              "type": "string",
              "description": "Text containing styling to process"
            },
            {
              "name": "baseURI",
              "type": "string",
              "description": "Base URI to rebase CSS paths against"
            }
          ],
          "return": {
            "type": "string",
            "desc": "The processed CSS text"
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "_finalizeTemplate",
          "description": "Configures an element `proto` to function with a given `template`.\nThe element name `is` and extends `ext` must be specified for ShadyCSS\nstyle scoping.",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 605,
              "column": 4
            },
            "end": {
              "line": 616,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "is",
              "type": "string",
              "description": "Tag name (or type extension name) for this element"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "ElementMixin"
        }
      ],
      "demos": [
        {
          "url": "demo/isu-progress/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 316,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "PolymerElement",
      "name": "IsuProgress",
      "attributes": [
        {
          "name": "type",
          "description": "进度条类型，可以是line、dashboard、circle中的一个",
          "sourceRange": {
            "start": {
              "line": 136,
              "column": 6
            },
            "end": {
              "line": 140,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "percentage",
          "description": "进度值",
          "sourceRange": {
            "start": {
              "line": 144,
              "column": 6
            },
            "end": {
              "line": 148,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "stroke-width",
          "description": "进度条宽度",
          "sourceRange": {
            "start": {
              "line": 152,
              "column": 6
            },
            "end": {
              "line": 155,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "status",
          "description": "状态，可以是success/exception/warning中的一个",
          "sourceRange": {
            "start": {
              "line": 159,
              "column": 6
            },
            "end": {
              "line": 163,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "color",
          "description": "进度条的背景色",
          "sourceRange": {
            "start": {
              "line": 167,
              "column": 6
            },
            "end": {
              "line": 169,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "width",
          "description": "环形进度条画布宽度",
          "sourceRange": {
            "start": {
              "line": 173,
              "column": 6
            },
            "end": {
              "line": 176,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "show-text",
          "description": "是否显示进度条文字内容",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 183,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "relative-stroke-width",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 184,
              "column": 6
            },
            "end": {
              "line": 187,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-progress"
    },
    {
      "description": "`isu-radio`\n\nExample:\n```html\n<isu-radio id=\"radio\" label=\"性别\" value=1></isu-radio>\n<isu-radio id=\"radio2\" label=\"姓名\" attr-for-value=\"id\" attr-for-label=\"name\" value=\"3\"></isu-radio>\n\n<script>\nradio.items = [{value: 1, label: \"男\"}, {value: 2, label: \"女\"}];\nradio2.items = [{id: 1, name: \"张三\"}, {id: 2, name: \"李四\"}, {id: 3, name: \"王五\"}]\n</script>\n```",
      "summary": "",
      "path": "isu-radio.js",
      "properties": [
        {
          "name": "label",
          "type": "string",
          "description": "The label of the radio.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 121,
              "column": 6
            },
            "end": {
              "line": 123,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "value",
          "type": "string",
          "description": "The selected value of radio group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 129,
              "column": 6
            },
            "end": {
              "line": 132,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "items",
          "type": "array",
          "description": "Candidates of the radio group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 138,
              "column": 6
            },
            "end": {
              "line": 140,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true, if the selection is required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 146,
              "column": 6
            },
            "end": {
              "line": 149,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Set to true, if the radio is readonly.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 155,
              "column": 6
            },
            "end": {
              "line": 158,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "attrForValue",
          "type": "string",
          "description": "Attribute name for value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 164,
              "column": 6
            },
            "end": {
              "line": 167,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"value\""
        },
        {
          "name": "attrForLabel",
          "type": "string",
          "description": "Attribute name for label.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 173,
              "column": 6
            },
            "end": {
              "line": 176,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"label\""
        }
      ],
      "methods": [
        {
          "name": "_requiredChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 190,
              "column": 2
            },
            "end": {
              "line": 195,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            },
            {
              "name": "required"
            },
            {
              "name": "items",
              "defaultValue": "[]"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "validate",
          "description": "Always return true.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 201,
              "column": 2
            },
            "end": {
              "line": 203,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-radio/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 22,
          "column": 0
        },
        "end": {
          "line": 204,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuRadio",
      "attributes": [
        {
          "name": "label",
          "description": "The label of the radio.",
          "sourceRange": {
            "start": {
              "line": 121,
              "column": 6
            },
            "end": {
              "line": 123,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "value",
          "description": "The selected value of radio group.",
          "sourceRange": {
            "start": {
              "line": 129,
              "column": 6
            },
            "end": {
              "line": 132,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "items",
          "description": "Candidates of the radio group.",
          "sourceRange": {
            "start": {
              "line": 138,
              "column": 6
            },
            "end": {
              "line": 140,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "required",
          "description": "Set to true, if the selection is required.",
          "sourceRange": {
            "start": {
              "line": 146,
              "column": 6
            },
            "end": {
              "line": 149,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the radio is readonly.",
          "sourceRange": {
            "start": {
              "line": 155,
              "column": 6
            },
            "end": {
              "line": 158,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "attr-for-value",
          "description": "Attribute name for value.",
          "sourceRange": {
            "start": {
              "line": 164,
              "column": 6
            },
            "end": {
              "line": 167,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "attr-for-label",
          "description": "Attribute name for label.",
          "sourceRange": {
            "start": {
              "line": 173,
              "column": 6
            },
            "end": {
              "line": 176,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-radio"
    },
    {
      "description": "`isu-grid`\n\nExample:\n```html\n\n```",
      "summary": "",
      "path": "isu-table-column.js",
      "properties": [
        {
          "name": "prop",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 28,
              "column": 6
            },
            "end": {
              "line": 30,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "props",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 32,
              "column": 6
            },
            "end": {
              "line": 32,
              "column": 19
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "separator",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 34,
              "column": 6
            },
            "end": {
              "line": 34,
              "column": 23
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 36,
              "column": 6
            },
            "end": {
              "line": 38,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "width",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 40,
              "column": 6
            },
            "end": {
              "line": 42,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "fixed",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 44,
              "column": 6
            },
            "end": {
              "line": 46,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "type",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 48,
              "column": 6
            },
            "end": {
              "line": 51,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"view\""
        },
        {
          "name": "tmpl",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 53,
              "column": 6
            },
            "end": {
              "line": 53,
              "column": 18
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "modelAs",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 55,
              "column": 6
            },
            "end": {
              "line": 58,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"item\""
        },
        {
          "name": "sortable",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 60,
              "column": 6
            },
            "end": {
              "line": 63,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "frozen",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 65,
              "column": 6
            },
            "end": {
              "line": 68,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "formatter",
          "type": "Function | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 70,
              "column": 6
            },
            "end": {
              "line": 70,
              "column": 25
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Function"
            }
          }
        },
        {
          "name": "cellStyle",
          "type": "string | null | undefined",
          "description": "样式，可以设定颜色，对齐方式等",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 74,
              "column": 6
            },
            "end": {
              "line": 74,
              "column": 23
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "defaultValue",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 75,
              "column": 6
            },
            "end": {
              "line": 75,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_findTemplate",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 95,
              "column": 2
            },
            "end": {
              "line": 98,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "stampTemplate",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 100,
              "column": 2
            },
            "end": {
              "line": 103,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "instanceProps"
            },
            {
              "name": "key",
              "defaultValue": "this.modelAs"
            }
          ]
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-table-column/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 21,
          "column": 0
        },
        "end": {
          "line": 104,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuTableColumn",
      "attributes": [
        {
          "name": "prop",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 28,
              "column": 6
            },
            "end": {
              "line": 30,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "props",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 32,
              "column": 6
            },
            "end": {
              "line": 32,
              "column": 19
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "separator",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 34,
              "column": 6
            },
            "end": {
              "line": 34,
              "column": 23
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "label",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 36,
              "column": 6
            },
            "end": {
              "line": 38,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "width",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 40,
              "column": 6
            },
            "end": {
              "line": 42,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "fixed",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 44,
              "column": 6
            },
            "end": {
              "line": 46,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "type",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 48,
              "column": 6
            },
            "end": {
              "line": 51,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "tmpl",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 53,
              "column": 6
            },
            "end": {
              "line": 53,
              "column": 18
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "model-as",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 55,
              "column": 6
            },
            "end": {
              "line": 58,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "sortable",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 60,
              "column": 6
            },
            "end": {
              "line": 63,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "frozen",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 65,
              "column": 6
            },
            "end": {
              "line": 68,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "formatter",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 70,
              "column": 6
            },
            "end": {
              "line": 70,
              "column": 25
            }
          },
          "metadata": {},
          "type": "Function | null | undefined"
        },
        {
          "name": "cell-style",
          "description": "样式，可以设定颜色，对齐方式等",
          "sourceRange": {
            "start": {
              "line": 74,
              "column": 6
            },
            "end": {
              "line": 74,
              "column": 23
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "default-value",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 75,
              "column": 6
            },
            "end": {
              "line": 75,
              "column": 26
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-table-column"
    },
    {
      "description": "`isu-table`\n```html\n\n```",
      "summary": "",
      "path": "isu-table.js",
      "properties": [
        {
          "name": "data",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 816,
              "column": 6
            },
            "end": {
              "line": 822,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"__dataChanged\"",
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "sort",
          "type": "Function | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 824,
              "column": 6
            },
            "end": {
              "line": 827,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"__sortChanged\"",
              "attributeType": "Function"
            }
          }
        },
        {
          "name": "colspan",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 829,
              "column": 6
            },
            "end": {
              "line": 832,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "columnInfos",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 834,
              "column": 6
            },
            "end": {
              "line": 836,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "assignedElements",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 838,
              "column": 6
            },
            "end": {
              "line": 840,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "__tableData",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 842,
              "column": 6
            },
            "end": {
              "line": 844,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "showSummary",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 846,
              "column": 6
            },
            "end": {
              "line": 849,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "tooltip",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 851,
              "column": 6
            },
            "end": {
              "line": 855,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "showIndex",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 857,
              "column": 6
            },
            "end": {
              "line": 860,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "selectable",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 862,
              "column": 6
            },
            "end": {
              "line": 865,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "radio",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 867,
              "column": 6
            },
            "end": {
              "line": 870,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "__showExpansion",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 872,
              "column": 6
            },
            "end": {
              "line": 875,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "__selectedState",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 877,
              "column": 6
            },
            "end": {
              "line": 877,
              "column": 30
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "height",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 879,
              "column": 6
            },
            "end": {
              "line": 879,
              "column": 20
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "tableBodyStyle",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 880,
              "column": 6
            },
            "end": {
              "line": 880,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "__tableFixed",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 881,
              "column": 6
            },
            "end": {
              "line": 881,
              "column": 25
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "__tableFixedRight",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 882,
              "column": 6
            },
            "end": {
              "line": 882,
              "column": 30
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "tableFixedStyle",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 883,
              "column": 6
            },
            "end": {
              "line": 883,
              "column": 29
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "tableFixedRightStyle",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 884,
              "column": 6
            },
            "end": {
              "line": 884,
              "column": 34
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "__sortTheColumn",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 550,
              "column": 2
            },
            "end": {
              "line": 597,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  currentTarget: container,\n  model\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__calColspan",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 599,
              "column": 2
            },
            "end": {
              "line": 607,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "columnInfos",
              "defaultValue": "[]"
            }
          ]
        },
        {
          "name": "__shareOpenExpanderHandler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 609,
              "column": 2
            },
            "end": {
              "line": 613,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "icon"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "target"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__openExpanderHandler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 615,
              "column": 2
            },
            "end": {
              "line": 617,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  path: [icon],\n  model: {\n    rowIndex\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__openExpanderHandlerFixed",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 619,
              "column": 2
            },
            "end": {
              "line": 623,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  path: [icon],\n  model: {\n    rowIndex\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__openExpanderHandlerFixedRight",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 625,
              "column": 2
            },
            "end": {
              "line": 627,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  path: [icon],\n  model: {\n    rowIndex\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__rowSelecttion",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 629,
              "column": 2
            },
            "end": {
              "line": 637,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  model: {\n    row,\n    rowIndex\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__rowSelecttionAll",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 639,
              "column": 2
            },
            "end": {
              "line": 643,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__appendTmplContent",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 645,
              "column": 2
            },
            "end": {
              "line": 652,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "targetSelector"
            },
            {
              "name": "model"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "columnTag"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__dataChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 654,
              "column": 2
            },
            "end": {
              "line": 657,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "data",
              "defaultValue": "[]"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__calShowExpansion",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 659,
              "column": 2
            },
            "end": {
              "line": 661,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "[first] = [{}]"
            }
          ]
        },
        {
          "name": "isDisabledSelection",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 663,
              "column": 2
            },
            "end": {
              "line": 666,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            }
          ]
        },
        {
          "name": "getSelectedRows",
          "description": "获取选中的行",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 672,
              "column": 2
            },
            "end": {
              "line": 674,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "any"
          }
        },
        {
          "name": "shareComputeExpansion",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 676,
              "column": 2
            },
            "end": {
              "line": 683,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "targetSelect"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "computeExpansion",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 685,
              "column": 2
            },
            "end": {
              "line": 687,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "computeExpansionFixed",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 689,
              "column": 2
            },
            "end": {
              "line": 691,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "computeExpansionFixedRight",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 693,
              "column": 2
            },
            "end": {
              "line": 695,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "shareComputeContent",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 697,
              "column": 2
            },
            "end": {
              "line": 716,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "column"
            },
            {
              "name": "targetSelect"
            }
          ]
        },
        {
          "name": "computeContent",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 718,
              "column": 2
            },
            "end": {
              "line": 720,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "column"
            },
            {
              "name": "columnIndex"
            }
          ]
        },
        {
          "name": "computeContentFixed",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 722,
              "column": 2
            },
            "end": {
              "line": 724,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "column"
            },
            {
              "name": "columnIndex"
            }
          ]
        },
        {
          "name": "computeContentFixedRight",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 726,
              "column": 2
            },
            "end": {
              "line": 728,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "column"
            },
            {
              "name": "columnIndex"
            }
          ]
        },
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 730,
              "column": 2
            },
            "end": {
              "line": 770,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "domReady",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 772,
              "column": 2
            },
            "end": {
              "line": 812,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-table/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 19,
          "column": 0
        },
        "end": {
          "line": 891,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuTable",
      "attributes": [
        {
          "name": "data",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 816,
              "column": 6
            },
            "end": {
              "line": 822,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "sort",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 824,
              "column": 6
            },
            "end": {
              "line": 827,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Function | null | undefined"
        },
        {
          "name": "colspan",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 829,
              "column": 6
            },
            "end": {
              "line": 832,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "column-infos",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 834,
              "column": 6
            },
            "end": {
              "line": 836,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "assigned-elements",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 838,
              "column": 6
            },
            "end": {
              "line": 840,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "show-summary",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 846,
              "column": 6
            },
            "end": {
              "line": 849,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "tooltip",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 851,
              "column": 6
            },
            "end": {
              "line": 855,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "show-index",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 857,
              "column": 6
            },
            "end": {
              "line": 860,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "selectable",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 862,
              "column": 6
            },
            "end": {
              "line": 865,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "radio",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 867,
              "column": 6
            },
            "end": {
              "line": 870,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "height",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 879,
              "column": 6
            },
            "end": {
              "line": 879,
              "column": 20
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "table-body-style",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 880,
              "column": 6
            },
            "end": {
              "line": 880,
              "column": 28
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "table-fixed-style",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 883,
              "column": 6
            },
            "end": {
              "line": 883,
              "column": 29
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "table-fixed-right-style",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 884,
              "column": 6
            },
            "end": {
              "line": 884,
              "column": 34
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-table"
    },
    {
      "description": "`isu-textarea`\n\nExample:\n```html\n<isu-textarea label=\"备注\"></isu-textarea>\n<isu-textarea label=\"备注\" required></isu-textarea>\n```\n\n\n## Styling\n\nThe following custom properties and mixins are available for styling:\n\n|Custom property | Description | Default|\n|----------------|-------------|----------|\n|`--isu-textarea` | Mixin applied to the textarea | {}\n|`--isu-textarea-placeholder` | Mixin applied to placeholder of the textarea | {}",
      "summary": "",
      "path": "isu-textarea.js",
      "properties": [
        {
          "name": "textarea",
          "type": "?",
          "description": "Returns the underlying textarea.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 233,
              "column": 2
            },
            "end": {
              "line": 235,
              "column": 3
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true
            }
          }
        },
        {
          "name": "selectionStart",
          "type": "?",
          "description": "Returns textarea's selection start.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 241,
              "column": 2
            },
            "end": {
              "line": 243,
              "column": 3
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          }
        },
        {
          "name": "selectionEnd",
          "type": "?",
          "description": "Returns textarea's selection end.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 249,
              "column": 2
            },
            "end": {
              "line": 251,
              "column": 3
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          }
        },
        {
          "name": "value",
          "type": "(string | number)",
          "description": "The value of the textarea.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 120,
              "column": 6
            },
            "end": {
              "line": 123,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "rows",
          "type": "number | null | undefined",
          "description": "The initial number of rows.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 132,
              "column": 6
            },
            "end": {
              "line": 135,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "1"
        },
        {
          "name": "cols",
          "type": "number | null | undefined",
          "description": "Specifies the visible width of a text area",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 6
            },
            "end": {
              "line": 142,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "1"
        },
        {
          "name": "autocomplete",
          "type": "string | null | undefined",
          "description": "Bound to the textarea's `autocomplete` attribute.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 148,
              "column": 6
            },
            "end": {
              "line": 151,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"off\""
        },
        {
          "name": "autofocus",
          "type": "boolean | null | undefined",
          "description": "Bound to the textarea's `autofocus` attribute.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 157,
              "column": 6
            },
            "end": {
              "line": 160,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "inputmode",
          "type": "string | null | undefined",
          "description": "Bound to the textarea's `inputmode` attribute.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 165,
              "column": 6
            },
            "end": {
              "line": 167,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "string | null | undefined",
          "description": "Bound to the textarea's `placeholder` attribute.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 172,
              "column": 6
            },
            "end": {
              "line": 174,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "readonly",
          "type": "boolean | null | undefined",
          "description": "Bound to the textarea's `readonly` attribute.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 179,
              "column": 6
            },
            "end": {
              "line": 181,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "required",
          "type": "boolean | null | undefined",
          "description": "Set to true to mark the textarea as required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 186,
              "column": 6
            },
            "end": {
              "line": 188,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "minlength",
          "type": "number | null | undefined",
          "description": "The minimum length of the input value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 195,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "maxlength",
          "type": "number | null | undefined",
          "description": "The maximum length of the input value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 200,
              "column": 6
            },
            "end": {
              "line": 202,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "Bound to the textarea's `aria-label` attribute.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 207,
              "column": 6
            },
            "end": {
              "line": 209,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "prompt",
          "type": "string | null | undefined",
          "description": "The prompt to show when textarea is invalid.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 213,
              "column": 6
            },
            "end": {
              "line": 215,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "__refreshUIState",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 267,
              "column": 2
            },
            "end": {
              "line": 273,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "validate",
          "description": "Returns true if `value` is valid. Use`textarea`'s `validity` attribute.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 280,
              "column": 2
            },
            "end": {
              "line": 282,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean",
            "desc": "True if the value is valid."
          }
        },
        {
          "name": "doFocus",
          "description": "Set focus to textarea.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 287,
              "column": 2
            },
            "end": {
              "line": 289,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-textarea/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 30,
          "column": 0
        },
        "end": {
          "line": 290,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuTextarea",
      "attributes": [
        {
          "name": "value",
          "description": "The value of the textarea.",
          "sourceRange": {
            "start": {
              "line": 120,
              "column": 6
            },
            "end": {
              "line": 123,
              "column": 7
            }
          },
          "metadata": {},
          "type": "(string | number)"
        },
        {
          "name": "rows",
          "description": "The initial number of rows.",
          "sourceRange": {
            "start": {
              "line": 132,
              "column": 6
            },
            "end": {
              "line": 135,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "cols",
          "description": "Specifies the visible width of a text area",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 6
            },
            "end": {
              "line": 142,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "autocomplete",
          "description": "Bound to the textarea's `autocomplete` attribute.",
          "sourceRange": {
            "start": {
              "line": 148,
              "column": 6
            },
            "end": {
              "line": 151,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "autofocus",
          "description": "Bound to the textarea's `autofocus` attribute.",
          "sourceRange": {
            "start": {
              "line": 157,
              "column": 6
            },
            "end": {
              "line": 160,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "inputmode",
          "description": "Bound to the textarea's `inputmode` attribute.",
          "sourceRange": {
            "start": {
              "line": 165,
              "column": 6
            },
            "end": {
              "line": 167,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "placeholder",
          "description": "Bound to the textarea's `placeholder` attribute.",
          "sourceRange": {
            "start": {
              "line": 172,
              "column": 6
            },
            "end": {
              "line": 174,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "readonly",
          "description": "Bound to the textarea's `readonly` attribute.",
          "sourceRange": {
            "start": {
              "line": 179,
              "column": 6
            },
            "end": {
              "line": 181,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "required",
          "description": "Set to true to mark the textarea as required.",
          "sourceRange": {
            "start": {
              "line": 186,
              "column": 6
            },
            "end": {
              "line": 188,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "minlength",
          "description": "The minimum length of the input value.",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 195,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "maxlength",
          "description": "The maximum length of the input value.",
          "sourceRange": {
            "start": {
              "line": 200,
              "column": 6
            },
            "end": {
              "line": 202,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "label",
          "description": "Bound to the textarea's `aria-label` attribute.",
          "sourceRange": {
            "start": {
              "line": 207,
              "column": 6
            },
            "end": {
              "line": 209,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "prompt",
          "description": "The prompt to show when textarea is invalid.",
          "sourceRange": {
            "start": {
              "line": 213,
              "column": 6
            },
            "end": {
              "line": 215,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-textarea"
    },
    {
      "description": "`isu-tree-node`\n\nExample:\n```html\n\n```",
      "summary": "",
      "path": "isu-tree-node.js",
      "properties": [
        {
          "name": "tree",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 130,
              "column": 6
            },
            "end": {
              "line": 130,
              "column": 18
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "rotate",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 131,
              "column": 6
            },
            "end": {
              "line": 134,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "-90"
        },
        {
          "name": "showCheckbox",
          "type": "boolean | null | undefined",
          "description": "是否显示多选框",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 138,
              "column": 6
            },
            "end": {
              "line": 141,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "showRadio",
          "type": "boolean | null | undefined",
          "description": "是否显示单选框",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 145,
              "column": 6
            },
            "end": {
              "line": 148,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "accordion",
          "type": "boolean | null | undefined",
          "description": "手风琴模式，一次只展示一个",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 152,
              "column": 6
            },
            "end": {
              "line": 155,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "defaultExpandAll",
          "type": "boolean | null | undefined",
          "description": "是否默认展开所有节点",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 159,
              "column": 6
            },
            "end": {
              "line": 162,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "isShow",
          "type": "boolean | null | undefined",
          "description": "操作子元素关闭",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 166,
              "column": 6
            },
            "end": {
              "line": 170,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"__isShowChanged\"",
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "indent",
          "type": "number | null | undefined",
          "description": "缩进",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 174,
              "column": 6
            },
            "end": {
              "line": 177,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "18"
        },
        {
          "name": "dataLocation",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 178,
              "column": 6
            },
            "end": {
              "line": 178,
              "column": 25
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "level",
          "type": "number | null | undefined",
          "description": "数据定位，表示层级和数据位置",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 179,
              "column": 6
            },
            "end": {
              "line": 179,
              "column": 19
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "node",
          "type": "Node | null | undefined",
          "description": "当前层级",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 184,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Node"
            }
          }
        },
        {
          "name": "isChecked",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 185,
              "column": 6
            },
            "end": {
              "line": 188,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "isFirst",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 189,
              "column": 6
            },
            "end": {
              "line": 192,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "visible",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 196,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "id",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 197,
              "column": 6
            },
            "end": {
              "line": 199,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "searchWord",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 200,
              "column": 6
            },
            "end": {
              "line": 202,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "isIndeterminate",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 203,
              "column": 6
            },
            "end": {
              "line": 206,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 226,
              "column": 2
            },
            "end": {
              "line": 234,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_isFirst",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 236,
              "column": 2
            },
            "end": {
              "line": 241,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isFirst"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getHalfClass",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 243,
              "column": 2
            },
            "end": {
              "line": 245,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isIndeterminate"
            }
          ]
        },
        {
          "name": "_isIndeterminateChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 247,
              "column": 2
            },
            "end": {
              "line": 252,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isIndeterminate"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_childNodesChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 254,
              "column": 2
            },
            "end": {
              "line": 261,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "target"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_searchWordChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 263,
              "column": 2
            },
            "end": {
              "line": 265,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "searchWord"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__isShowChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 267,
              "column": 2
            },
            "end": {
              "line": 281,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isShow"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_showNodeFilter",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 283,
              "column": 2
            },
            "end": {
              "line": 287,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "filterNode",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 289,
              "column": 2
            },
            "end": {
              "line": 303,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "searchWord"
            },
            {
              "name": "node"
            }
          ]
        },
        {
          "name": "_defaultExpandAllChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 305,
              "column": 2
            },
            "end": {
              "line": 310,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "defaultExpandAll"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_getNextLevel",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 311,
              "column": 2
            },
            "end": {
              "line": 313,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "level"
            }
          ]
        },
        {
          "name": "showNode",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 315,
              "column": 2
            },
            "end": {
              "line": 333,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "_getDataLocation",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 335,
              "column": 2
            },
            "end": {
              "line": 337,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "index"
            }
          ]
        },
        {
          "name": "_getIndentStyle",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 339,
              "column": 2
            },
            "end": {
              "line": 341,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "level"
            },
            {
              "name": "indent"
            }
          ]
        },
        {
          "name": "_getRotateStyle",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 343,
              "column": 2
            },
            "end": {
              "line": 345,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "rotate"
            }
          ]
        },
        {
          "name": "getNodeKey",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 347,
              "column": 2
            },
            "end": {
              "line": 349,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node"
            },
            {
              "name": "index"
            }
          ]
        },
        {
          "name": "__checkedRadioChangeHandler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 351,
              "column": 2
            },
            "end": {
              "line": 367,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__checkedChangeHandler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 369,
              "column": 2
            },
            "end": {
              "line": 377,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_notifyDataChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 379,
              "column": 2
            },
            "end": {
              "line": 396,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isChecked"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__notifyDataChangedByHalfHandler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 398,
              "column": 2
            },
            "end": {
              "line": 402,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isChecked"
            },
            {
              "name": "isHalfCheck"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__getChecked",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 404,
              "column": 2
            },
            "end": {
              "line": 411,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node"
            }
          ]
        },
        {
          "name": "__getAllPaperRadioButton",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 413,
              "column": 2
            },
            "end": {
              "line": 431,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "__setNodeChecked",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 433,
              "column": 2
            },
            "end": {
              "line": 454,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "ele"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__checkedRadioClickedHandler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 456,
              "column": 2
            },
            "end": {
              "line": 458,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__checkedClickedHandler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 460,
              "column": 2
            },
            "end": {
              "line": 483,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__noneCheckedFn",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 485,
              "column": 2
            },
            "end": {
              "line": 488,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node"
            }
          ]
        },
        {
          "name": "__allCheckedFn",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 490,
              "column": 2
            },
            "end": {
              "line": 496,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node"
            }
          ]
        },
        {
          "name": "__CheckHalfCheckededFn",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 497,
              "column": 2
            },
            "end": {
              "line": 499,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node"
            }
          ]
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-tree/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 22,
          "column": 0
        },
        "end": {
          "line": 501,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuTreeNode",
      "attributes": [
        {
          "name": "tree",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 130,
              "column": 6
            },
            "end": {
              "line": 130,
              "column": 18
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "rotate",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 131,
              "column": 6
            },
            "end": {
              "line": 134,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "show-checkbox",
          "description": "是否显示多选框",
          "sourceRange": {
            "start": {
              "line": 138,
              "column": 6
            },
            "end": {
              "line": 141,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "show-radio",
          "description": "是否显示单选框",
          "sourceRange": {
            "start": {
              "line": 145,
              "column": 6
            },
            "end": {
              "line": 148,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "accordion",
          "description": "手风琴模式，一次只展示一个",
          "sourceRange": {
            "start": {
              "line": 152,
              "column": 6
            },
            "end": {
              "line": 155,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "default-expand-all",
          "description": "是否默认展开所有节点",
          "sourceRange": {
            "start": {
              "line": 159,
              "column": 6
            },
            "end": {
              "line": 162,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "is-show",
          "description": "操作子元素关闭",
          "sourceRange": {
            "start": {
              "line": 166,
              "column": 6
            },
            "end": {
              "line": 170,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "indent",
          "description": "缩进",
          "sourceRange": {
            "start": {
              "line": 174,
              "column": 6
            },
            "end": {
              "line": 177,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "data-location",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 178,
              "column": 6
            },
            "end": {
              "line": 178,
              "column": 25
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "level",
          "description": "数据定位，表示层级和数据位置",
          "sourceRange": {
            "start": {
              "line": 179,
              "column": 6
            },
            "end": {
              "line": 179,
              "column": 19
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "node",
          "description": "当前层级",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 184,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Node | null | undefined"
        },
        {
          "name": "is-checked",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 185,
              "column": 6
            },
            "end": {
              "line": 188,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "is-first",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 189,
              "column": 6
            },
            "end": {
              "line": 192,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "visible",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 196,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "id",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 197,
              "column": 6
            },
            "end": {
              "line": 199,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "search-word",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 200,
              "column": 6
            },
            "end": {
              "line": 202,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "is-indeterminate",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 203,
              "column": 6
            },
            "end": {
              "line": 206,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "node-changed",
          "description": "Fired when the `node` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-tree-node"
    },
    {
      "description": "`isu-tree`\n\nExample:\n```html\n <div>\n   <h4>Basic</h4>\n   <isu-tree id=\"tree\"></isu-tree>\n   <h4>部分禁用</h4>\n   <isu-tree id=\"tree4\" show-radio></isu-tree>\n   <h4>多选</h4>\n   <isu-tree id=\"tree2\" show-checkbox></isu-tree>\n   <h4>单选</h4>\n   <isu-tree id=\"tree3\" show-radio></isu-tree>\n   <h4>可以进行搜索</h4>\n   <isu-tree id=\"tree5\" show-checkbox require-query></isu-tree>\n   <h4>手风琴模式，一次只展开一个同级列表</h4>\n   <isu-tree id=\"tree6\" show-checkbox accordion></isu-tree>\n   <h4>展开所有节点</h4>\n   <isu-tree id=\"tree7\" show-checkbox default-expand-all></isu-tree>\n   <h4>默认选中部分值</h4>\n   <isu-tree id=\"tree9\" show-checkbox default-checked-keys=\"[11,21]\"></isu-tree>\n </div>\n```\n\n### Styling\n\n`<isu-button>` provides the following custom properties and mixins\nfor styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-checkbox` | Mixin applied to the paper-checkbox | {}\n`--paper-checkbox-half-choose` | Mixin applied to the paper-checkbox with half selected status | {}\n`--paper-checkbox-half-after` | Mixin applied to the paper-checkbox with half selected shape| {}\n`--paper-checkbox-unchecked-background-color` | Checkbox background color when the input is not checked | `transparent`\n`--paper-checkbox-unchecked-color` | Checkbox border color when the input is not checked | `--primary-text-color`\n`--paper-checkbox-unchecked-ink-color` | Selected/focus ripple color when the input is not checked | `--primary-text-color`\n`--paper-checkbox-checked-color` | Checkbox color when the input is checked | `--primary-color`\n`--paper-checkbox-checked-ink-color` | Selected/focus ripple color when the input is checked | `--primary-color`\n`--paper-checkbox-checkmark-color` | Checkmark color | `white`\n`--paper-checkbox-label-color` | Label color | `--primary-text-color`\n`--paper-checkbox-label-checked-color` | Label color when the input is checked | `--paper-checkbox-label-color`\n`--paper-checkbox-label-spacing` | Spacing between the label and the checkbox | `8px`\n`--paper-checkbox-label` | Mixin applied to the label | `{}`\n`--paper-checkbox-label-checked` | Mixin applied to the label when the input is checked | `{}`\n`--paper-checkbox-error-color` | Checkbox color when invalid | `--error-color`\n`--paper-checkbox-size` | Size of the checkbox | `18px`\n`--paper-checkbox-ink-size` | Size of the ripple | `48px`\n`--paper-checkbox-margin` | Margin around the checkbox container | `initial`\n`--paper-checkbox-vertical-align` | Vertical alignment of the checkbox container | `middle`",
      "summary": "",
      "path": "isu-tree.js",
      "properties": [
        {
          "name": "data",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 95,
              "column": 6
            },
            "end": {
              "line": 97,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "requireQuery",
          "type": "boolean | null | undefined",
          "description": "The value of the input number",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 104,
              "column": 6
            },
            "end": {
              "line": 107,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "showCheckbox",
          "type": "boolean | null | undefined",
          "description": "是否显示多选框",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 111,
              "column": 6
            },
            "end": {
              "line": 114,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "showRadio",
          "type": "boolean | null | undefined",
          "description": "是否显示单选框",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 118,
              "column": 6
            },
            "end": {
              "line": 121,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "defaultExpandAll",
          "type": "boolean | null | undefined",
          "description": "是否默认展开所有节点",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 125,
              "column": 6
            },
            "end": {
              "line": 128,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "accordion",
          "type": "boolean | null | undefined",
          "description": "手风琴模式，一次只展示一个",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 132,
              "column": 6
            },
            "end": {
              "line": 135,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "key",
          "type": "string | null | undefined",
          "description": "需要返回的key的集合的指定字段",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 6
            },
            "end": {
              "line": 142,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"id\""
        },
        {
          "name": "indent",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 143,
              "column": 6
            },
            "end": {
              "line": 147,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "18"
        },
        {
          "name": "isTree",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 148,
              "column": 6
            },
            "end": {
              "line": 151,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "dataLocation",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 152,
              "column": 6
            },
            "end": {
              "line": 154,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "props",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 155,
              "column": 6
            },
            "end": {
              "line": 164,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "store",
          "type": "TreeStore | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 165,
              "column": 6
            },
            "end": {
              "line": 167,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "TreeStore"
            }
          }
        },
        {
          "name": "node",
          "type": "Node | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 168,
              "column": 6
            },
            "end": {
              "line": 172,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Node"
            }
          }
        },
        {
          "name": "searchWord",
          "type": "string | null | undefined",
          "description": "搜索条件",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 176,
              "column": 6
            },
            "end": {
              "line": 178,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "bindItems",
          "type": "Array | null | undefined",
          "description": "选中的对象的集合",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 182,
              "column": 6
            },
            "end": {
              "line": 185,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "bindItemKeys",
          "type": "Array | null | undefined",
          "description": "选中的对象的id的集合",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 189,
              "column": 6
            },
            "end": {
              "line": 192,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "defaultCheckedKeys",
          "type": "Array | null | undefined",
          "description": "默认选中的key集合",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 196,
              "column": 6
            },
            "end": {
              "line": 198,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_childNodesChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 208,
              "column": 2
            },
            "end": {
              "line": 213,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "target"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_setBindItemsChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 215,
              "column": 2
            },
            "end": {
              "line": 220,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "ready",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 222,
              "column": 2
            },
            "end": {
              "line": 240,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_isFirst",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 243,
              "column": 2
            },
            "end": {
              "line": 245,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "index"
            }
          ]
        },
        {
          "name": "getNodeKey",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 247,
              "column": 2
            },
            "end": {
              "line": 249,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node"
            },
            {
              "name": "index"
            }
          ]
        },
        {
          "name": "_getDataLocation",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 251,
              "column": 2
            },
            "end": {
              "line": 253,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "index"
            }
          ]
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-tree/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 65,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuTree",
      "attributes": [
        {
          "name": "data",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 95,
              "column": 6
            },
            "end": {
              "line": 97,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "require-query",
          "description": "The value of the input number",
          "sourceRange": {
            "start": {
              "line": 104,
              "column": 6
            },
            "end": {
              "line": 107,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "show-checkbox",
          "description": "是否显示多选框",
          "sourceRange": {
            "start": {
              "line": 111,
              "column": 6
            },
            "end": {
              "line": 114,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "show-radio",
          "description": "是否显示单选框",
          "sourceRange": {
            "start": {
              "line": 118,
              "column": 6
            },
            "end": {
              "line": 121,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "default-expand-all",
          "description": "是否默认展开所有节点",
          "sourceRange": {
            "start": {
              "line": 125,
              "column": 6
            },
            "end": {
              "line": 128,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "accordion",
          "description": "手风琴模式，一次只展示一个",
          "sourceRange": {
            "start": {
              "line": 132,
              "column": 6
            },
            "end": {
              "line": 135,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "key",
          "description": "需要返回的key的集合的指定字段",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 6
            },
            "end": {
              "line": 142,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "indent",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 143,
              "column": 6
            },
            "end": {
              "line": 147,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "is-tree",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 148,
              "column": 6
            },
            "end": {
              "line": 151,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "data-location",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 152,
              "column": 6
            },
            "end": {
              "line": 154,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "props",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 155,
              "column": 6
            },
            "end": {
              "line": 164,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "store",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 165,
              "column": 6
            },
            "end": {
              "line": 167,
              "column": 7
            }
          },
          "metadata": {},
          "type": "TreeStore | null | undefined"
        },
        {
          "name": "node",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 168,
              "column": 6
            },
            "end": {
              "line": 172,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Node | null | undefined"
        },
        {
          "name": "search-word",
          "description": "搜索条件",
          "sourceRange": {
            "start": {
              "line": 176,
              "column": 6
            },
            "end": {
              "line": 178,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "bind-items",
          "description": "选中的对象的集合",
          "sourceRange": {
            "start": {
              "line": 182,
              "column": 6
            },
            "end": {
              "line": 185,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "bind-item-keys",
          "description": "选中的对象的id的集合",
          "sourceRange": {
            "start": {
              "line": 189,
              "column": 6
            },
            "end": {
              "line": 192,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "default-checked-keys",
          "description": "默认选中的key集合",
          "sourceRange": {
            "start": {
              "line": 196,
              "column": 6
            },
            "end": {
              "line": 198,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "node-changed",
          "description": "Fired when the `node` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "bind-items-changed",
          "description": "Fired when the `bindItems` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "bind-item-keys-changed",
          "description": "Fired when the `bindItemKeys` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-tree"
    },
    {
      "description": "`isu-upload`\n\nExample:\n```html\n\n```",
      "summary": "",
      "path": "isu-upload.js",
      "properties": [
        {
          "name": "accept",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 106,
              "column": 6
            },
            "end": {
              "line": 106,
              "column": 20
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "multiple",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 107,
              "column": 6
            },
            "end": {
              "line": 110,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "files",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 111,
              "column": 6
            },
            "end": {
              "line": 114,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "src",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 115,
              "column": 6
            },
            "end": {
              "line": 115,
              "column": 17
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "request",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 116,
              "column": 6
            },
            "end": {
              "line": 116,
              "column": 21
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "response",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 117,
              "column": 6
            },
            "end": {
              "line": 120,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Object"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "ready",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 128,
              "column": 2
            },
            "end": {
              "line": 130,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_triggerChooseFile",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 132,
              "column": 2
            },
            "end": {
              "line": 135,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_chooseFile",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 137,
              "column": 2
            },
            "end": {
              "line": 144,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "delete",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 146,
              "column": 2
            },
            "end": {
              "line": 149,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  model: {\n    index\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "upload",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 151,
              "column": 2
            },
            "end": {
              "line": 178,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-upload/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 34,
          "column": 7
        },
        "end": {
          "line": 183,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuUpload",
      "attributes": [
        {
          "name": "accept",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 106,
              "column": 6
            },
            "end": {
              "line": 106,
              "column": 20
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "multiple",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 107,
              "column": 6
            },
            "end": {
              "line": 110,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "files",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 111,
              "column": 6
            },
            "end": {
              "line": 114,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "src",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 115,
              "column": 6
            },
            "end": {
              "line": 115,
              "column": 17
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "request",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 116,
              "column": 6
            },
            "end": {
              "line": 116,
              "column": 21
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "response",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 117,
              "column": 6
            },
            "end": {
              "line": 120,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "response-changed",
          "description": "Fired when the `response` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-upload"
    }
  ],
  "functions": [
    {
      "name": "markNodeData",
      "description": "",
      "summary": "",
      "sourceRange": {
        "file": "utils/tree/util.js",
        "start": {
          "line": 2,
          "column": 28
        },
        "end": {
          "line": 10,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [],
      "return": {
        "type": "void"
      }
    },
    {
      "name": "getNodeKey",
      "description": "",
      "summary": "",
      "sourceRange": {
        "file": "utils/tree/util.js",
        "start": {
          "line": 12,
          "column": 26
        },
        "end": {
          "line": 15,
          "column": 1
        }
      },
      "privacy": "public",
      "params": []
    },
    {
      "name": "findNearestComponent",
      "description": "",
      "summary": "",
      "sourceRange": {
        "file": "utils/tree/util.js",
        "start": {
          "line": 17,
          "column": 36
        },
        "end": {
          "line": 26,
          "column": 1
        }
      },
      "privacy": "public",
      "params": []
    },
    {
      "name": "arrayFindIndex",
      "description": "",
      "summary": "",
      "sourceRange": {
        "file": "utils/tree/util.js",
        "start": {
          "line": 28,
          "column": 30
        },
        "end": {
          "line": 35,
          "column": 1
        }
      },
      "privacy": "public",
      "params": []
    },
    {
      "name": "objectAssign",
      "description": "",
      "summary": "",
      "sourceRange": {
        "file": "utils/tree/util.js",
        "start": {
          "line": 37,
          "column": 28
        },
        "end": {
          "line": 51,
          "column": 1
        }
      },
      "privacy": "public",
      "params": []
    },
    {
      "name": "getChildState",
      "description": "",
      "summary": "",
      "sourceRange": {
        "file": "utils/tree/node.js",
        "start": {
          "line": 3,
          "column": 29
        },
        "end": {
          "line": 17,
          "column": 1
        }
      },
      "privacy": "public",
      "params": []
    }
  ],
  "metadata": {
    "polymer": {
      "behaviors": [
        {
          "description": "",
          "summary": "",
          "path": "behaviors/base-behavior.js",
          "properties": [],
          "methods": [
            {
              "name": "isOneOf",
              "description": "判断第一个参数是否与后面的某个参数相等， 使用Object.is() 进行判断",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 11,
                  "column": 2
                },
                "end": {
                  "line": 18,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "args",
                  "type": "...*",
                  "rest": true
                }
              ],
              "return": {
                "type": "boolean"
              }
            },
            {
              "name": "isEqual",
              "description": "判断两个值是否相等，使用 `Object.is` 判断。",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 26,
                  "column": 2
                },
                "end": {
                  "line": 28,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "left",
                  "type": "*"
                },
                {
                  "name": "right",
                  "type": "*"
                }
              ],
              "return": {
                "type": "Boolean"
              }
            },
            {
              "name": "allEqual",
              "description": "判断传入参数两两是否全部相等",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 35,
                  "column": 2
                },
                "end": {
                  "line": 40,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "args",
                  "rest": true
                }
              ],
              "return": {
                "type": "boolean"
              }
            },
            {
              "name": "someEqual",
              "description": "判断传入参数两两是否存在一对相等",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 47,
                  "column": 2
                },
                "end": {
                  "line": 52,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "args",
                  "rest": true
                }
              ],
              "return": {
                "type": "boolean"
              }
            },
            {
              "name": "isFunction",
              "description": "函数判断",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 58,
                  "column": 2
                },
                "end": {
                  "line": 60,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "fn",
                  "type": "*"
                }
              ],
              "return": {
                "type": "Boolean"
              }
            },
            {
              "name": "orElse",
              "description": "Return the first giving arg which is not ``undefined``, ``null``, ``NaN`` , ``false`` ,``0`` or ``''``.\n\neg.\n```\norElse(undefined, null, \"foo\")  // \"foo\"\norElse(0, 1)  // 1\norElse(\"bar\", \"foo\")  // \"bar\"\n```",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 74,
                  "column": 2
                },
                "end": {
                  "line": 77,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "args",
                  "type": "...*",
                  "rest": true
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "getValueByKey",
              "description": "通过key查询对象中的值",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 86,
                  "column": 2
                },
                "end": {
                  "line": 88,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "model",
                  "type": "Object"
                },
                {
                  "name": "key",
                  "type": "String"
                },
                {
                  "name": "defVal",
                  "type": "String",
                  "defaultValue": "\"\"",
                  "description": "支持任何符合json格式的字符串"
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "getValueOrElse",
              "description": "等价于 model[key1 || key2 || ...]",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 96,
                  "column": 2
                },
                "end": {
                  "line": 99,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "model",
                  "type": "Object"
                },
                {
                  "name": "keys",
                  "type": "...String",
                  "rest": true
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "getValueOrElseNull",
              "description": "等价于 model[key1 || key2 || ...] 如果找不到值，返回null",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 106,
                  "column": 2
                },
                "end": {
                  "line": 109,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "model",
                  "type": "Object"
                },
                {
                  "name": "keys",
                  "type": "...String",
                  "rest": true
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "getValueOrElseUndefined",
              "description": "等价于 model[key1 || key2 || ...] 如果找不到值，返回 undefined",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 116,
                  "column": 2
                },
                "end": {
                  "line": 119,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "model",
                  "type": "Object"
                },
                {
                  "name": "keys",
                  "type": "...String",
                  "rest": true
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "resolveJsonValue",
              "description": "解析json串，如果传入参数不符合json标准，则原样返回",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 125,
                  "column": 2
                },
                "end": {
                  "line": 134,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "val"
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "getValueByPath",
              "description": "通过路径获取对象字段值",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 142,
                  "column": 2
                },
                "end": {
                  "line": 152,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "model",
                  "type": "Object",
                  "description": "eg. { foo: { bar: 1} }"
                },
                {
                  "name": "path",
                  "type": "String",
                  "defaultValue": "''",
                  "description": "eg. \"foo.bar\""
                },
                {
                  "name": "defVal",
                  "type": "*",
                  "description": "如果传入的是符合json格式的字符串，会返回JSON.parse处理的结果"
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "setValueByPath",
              "description": "通过路径设置对象字段值， 如果路径不存在，会抛出异常",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 161,
                  "column": 2
                },
                "end": {
                  "line": 176,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "model"
                },
                {
                  "name": "path"
                },
                {
                  "name": "value"
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "mkObject",
              "description": "根据路径生成对象，如 path='a.b' 返回 {a: {b: {}}}, 如果指定了target, 会在target上生成不存在的key",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 183,
                  "column": 2
                },
                "end": {
                  "line": 194,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "path",
                  "defaultValue": "''"
                },
                {
                  "name": "target",
                  "defaultValue": "{}"
                }
              ]
            },
            {
              "name": "toBoolean",
              "description": "To boolean.",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 200,
                  "column": 2
                },
                "end": {
                  "line": 202,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "val",
                  "type": "*"
                }
              ]
            },
            {
              "name": "isExistTruthy",
              "description": "check if there's a truthy in the giving args",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 209,
                  "column": 2
                },
                "end": {
                  "line": 211,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "args",
                  "rest": true
                }
              ]
            },
            {
              "name": "isArrayEmpty",
              "description": "Check if an array is empty.",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 218,
                  "column": 2
                },
                "end": {
                  "line": 220,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "arr",
                  "defaultValue": "[]"
                }
              ],
              "return": {
                "type": "boolean"
              }
            },
            {
              "name": "calc",
              "description": "简单数学运算",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 228,
                  "column": 2
                },
                "end": {
                  "line": 243,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "first"
                },
                {
                  "name": "op"
                },
                {
                  "name": "nums",
                  "rest": true
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "toggleClass",
              "description": "",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 245,
                  "column": 2
                },
                "end": {
                  "line": 253,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "target"
                },
                {
                  "name": "className"
                }
              ],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "showLoading",
              "description": "添加loading",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 258,
                  "column": 2
                },
                "end": {
                  "line": 271,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "hideLoading",
              "description": "消除loading",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 275,
                  "column": 2
                },
                "end": {
                  "line": 280,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "throwNotFoundError",
              "description": "",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 282,
                  "column": 2
                },
                "end": {
                  "line": 284,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "string"
                }
              ],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "deepClone",
              "description": "",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 286,
                  "column": 2
                },
                "end": {
                  "line": 288,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "obj"
                }
              ]
            },
            {
              "name": "optional",
              "description": "",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 290,
                  "column": 2
                },
                "end": {
                  "line": 292,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "bool"
                },
                {
                  "name": "trueReturn"
                },
                {
                  "name": "falseReturn",
                  "defaultValue": "''"
                }
              ]
            },
            {
              "name": "groupBy",
              "description": "用法：\nthis.groupBy(array, 'a', 'nogroup');\nthis.groupBy(array, (item) => item.a || 'nogroup');\n\n对数组进行分组，如给定[{a: 'group1', b: 2}, {a: 'group1', b: 4}, {a: 'group2', b: 5}] 返回 { 'group1': [{a: 'group1', b: 2}, {a: 'group1', b: 4}], 'group2': [ {a: 'group2', b: 5}] }",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 305,
                  "column": 2
                },
                "end": {
                  "line": 321,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "array"
                },
                {
                  "name": "iteratee",
                  "description": "， The iteratee to transform keys.，如 'bar'， 或 'foo.bar' 或 Function"
                },
                {
                  "name": "defaultGroup",
                  "defaultValue": "'wilding'",
                  "description": ", 当指定的分组字段不存在时，归类到的默认分组"
                }
              ],
              "return": {
                "desc": "Object"
              }
            },
            {
              "name": "partition",
              "description": "this.partition([1,2,3], item => item > 2);  返回 [[3], [1, 2]]\nthis.partition([{a: 1}, {a: 2}],  {a: 1});  返回 [[{a: 1}], [{a: 2}]]\nthis.partition([{a: 1}, {a: 2}],  'a');  返回 [[{a: 1}, {a: 2}], []]\n\nCreates an array of elements split into two groups, the first of which contains elements predicate returns truthy for, the second of which contains elements predicate returns falsey for.",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 333,
                  "column": 2
                },
                "end": {
                  "line": 353,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "array"
                },
                {
                  "name": "predicate"
                }
              ]
            },
            {
              "name": "getInvalidAttribute",
              "description": "get date-invalid attribute",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 360,
                  "column": 2
                },
                "end": {
                  "line": 362,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "validate",
              "description": "check the validate, override by the child component",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 369,
                  "column": 2
                },
                "end": {
                  "line": 370,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [],
              "return": {
                "type": "void"
              }
            }
          ],
          "staticMethods": [],
          "demos": [],
          "metadata": {},
          "sourceRange": {
            "start": {
              "line": 5,
              "column": 13
            },
            "end": {
              "line": 371,
              "column": 1
            }
          },
          "privacy": "public",
          "name": "BaseBehavior",
          "attributes": [],
          "events": [],
          "styling": {
            "cssVariables": [],
            "selectors": []
          },
          "slots": []
        },
        {
          "description": "",
          "summary": "",
          "path": "behaviors/tip-behavior.js",
          "properties": [
            {
              "name": "isuTip",
              "type": "object",
              "description": "isuTip提供了以下便捷方法来使用 `isu-tip`.\n- `isuTip.success(message, duration = 1500)`\n- `isuTip.success({message, title}, duration = 1500)`\n- `isuTip.warn(message, duration = 5000)`\n- `isuTip.warn({message, title}, duration = 5000)`\n- `isuTip.error(message, duration = 600000)`\n- `isuTip.error({message, title}, duration = 600000)`\n- `isuTip.confirm(message, confirmCallback, cancelCallback)`\n- `isuTip.confirm({message, title}, confirmCallback, cancelCallback)`\n- `isuTip.prompt(message, confirmCallback, cancelCallback)`\n- `isuTip.prompt({message, title}, confirmCallback, cancelCallback)`\n- `isuTip.tip({message, type, duration = 0, confirmCallback, cancelCallback})`\n- `isuTip.tip({{message, title}, type, duration = 0, confirmCallback, cancelCallback})`",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 22,
                  "column": 2
                },
                "end": {
                  "line": 90,
                  "column": 3
                }
              },
              "metadata": {
                "polymer": {
                  "readOnly": false
                }
              }
            }
          ],
          "methods": [],
          "staticMethods": [],
          "demos": [],
          "metadata": {},
          "sourceRange": {
            "start": {
              "line": 5,
              "column": 13
            },
            "end": {
              "line": 91,
              "column": 1
            }
          },
          "privacy": "public",
          "name": "TipBehavior",
          "attributes": [],
          "events": [],
          "styling": {
            "cssVariables": [],
            "selectors": []
          },
          "slots": []
        },
        {
          "description": "",
          "summary": "",
          "path": "behaviors/format-behavior.js",
          "properties": [],
          "methods": [
            {
              "name": "formatDate",
              "description": "格式化日期",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 14,
                  "column": 2
                },
                "end": {
                  "line": 38,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "date",
                  "description": "时间戳（毫秒）"
                },
                {
                  "name": "fmt",
                  "description": "显示格式，默认为'YYYY-MM-DD hh:mm:ss'"
                },
                {
                  "name": "emptyReturn",
                  "description": "默认空值返回数据"
                }
              ]
            }
          ],
          "staticMethods": [],
          "demos": [],
          "metadata": {},
          "sourceRange": {
            "start": {
              "line": 6,
              "column": 13
            },
            "end": {
              "line": 39,
              "column": 1
            }
          },
          "privacy": "public",
          "name": "FormatBehavior",
          "attributes": [],
          "events": [],
          "styling": {
            "cssVariables": [],
            "selectors": []
          },
          "slots": []
        }
      ]
    }
  },
  "classes": [
    {
      "description": "缓存搜索的插件\n\n缓存数据结构_cacheItems:\n[{item: {label:\"天猫\",business:\"塑料\"}, searches: [\"天猫\",\"KUAISUWANG\",\"KSW\",\"塑料\",\"SULIAO\",\"SL\"],matchCount:0},\n {item: {label:\"京东\",business:\"电商\"}, searches: [\"京东\",\"JINGDONG\",\"JD\",\"电商\",\"DIANSHANG\",\"DS\"],matchCount:0 }]",
      "summary": "",
      "path": "utils/cacheSearchUtil.js",
      "properties": [],
      "methods": [
        {
          "name": "search",
          "description": "查询",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 19,
              "column": 2
            },
            "end": {
              "line": 37,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "keyword",
              "defaultValue": "\"\"",
              "description": "关键字"
            },
            {
              "name": "separator",
              "defaultValue": "\",\""
            }
          ],
          "return": {
            "type": "Array.<*>"
          }
        },
        {
          "name": "addCacheItem",
          "description": "新增缓存项",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 44,
              "column": 2
            },
            "end": {
              "line": 46,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item",
              "description": "缓存对象POJO 如:{label:\"天猫\",business:\"塑料\"}"
            },
            {
              "name": "searches",
              "description": "缓存对象搜索关键字符串数组，包含了item的特定字段值，特定字段的全拼、简拼字符串,如：[\"天猫\",\"KUAISUWANG\",\"KSW\",\"塑料\",\"SULIAO\",\"SL\"]"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "resetCache",
          "description": "重置索引缓存",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 51,
              "column": 2
            },
            "end": {
              "line": 53,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 8,
          "column": 7
        },
        "end": {
          "line": 54,
          "column": 1
        }
      },
      "privacy": "public",
      "name": "CacheSearchUtil"
    },
    {
      "description": "Created by SkyLin on 2017/11/8.",
      "summary": "",
      "path": "utils/pinyinUtil.js",
      "properties": [
        {
          "name": "commonDictionary",
          "type": "?",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 110,
              "column": 0
            },
            "end": {
              "line": 119,
              "column": 4
            }
          },
          "metadata": {}
        },
        {
          "name": "firstLetterDictionary",
          "type": "?",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 121,
              "column": 0
            },
            "end": {
              "line": 121,
              "column": 73
            }
          },
          "metadata": {}
        }
      ],
      "methods": [
        {
          "name": "convert2CompletePinyin",
          "description": "汉字转全拼",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 26,
              "column": 2
            },
            "end": {
              "line": 41,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "userInput",
              "description": "用户输入关键字(允许输入英文字母和中文)"
            }
          ],
          "return": {
            "type": "*"
          }
        },
        {
          "name": "convert2PinyinAbbreviation",
          "description": "汉字转拼音首字母",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 48,
              "column": 2
            },
            "end": {
              "line": 78,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "userInput",
              "description": "用户输入关键字(允许输入英文字母和中文)"
            }
          ],
          "return": {
            "type": "*"
          }
        },
        {
          "name": "_handlePolyphone",
          "description": "处理多音字，并去重\n1.['hen', 'xing heng xing hang'] 转换成 ['hen xing', 'hen heng', 'hen hang']\n2.['D', 'ZCZ', 'F']转换成['DZF', 'DCF']",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 89,
              "column": 2
            },
            "end": {
              "line": 104,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "arr",
              "description": "字符串数组"
            },
            {
              "name": "splitter",
              "defaultValue": "\"\"",
              "description": "字符串分隔符"
            }
          ],
          "return": {
            "type": "[string]"
          }
        }
      ],
      "staticMethods": [],
      "demos": [],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 6,
          "column": 7
        },
        "end": {
          "line": 105,
          "column": 1
        }
      },
      "privacy": "public",
      "name": "PinyinUtil"
    },
    {
      "description": "",
      "summary": "",
      "path": "utils/tree/node.js",
      "properties": [
        {
          "name": "label",
          "type": "?",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 153,
              "column": 2
            },
            "end": {
              "line": 155,
              "column": 3
            }
          },
          "metadata": {}
        },
        {
          "name": "key",
          "type": "?",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 157,
              "column": 2
            },
            "end": {
              "line": 161,
              "column": 3
            }
          },
          "metadata": {}
        },
        {
          "name": "disabled",
          "type": "?",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 163,
              "column": 2
            },
            "end": {
              "line": 165,
              "column": 3
            }
          },
          "metadata": {}
        },
        {
          "name": "nextSibling",
          "type": "?",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 167,
              "column": 2
            },
            "end": {
              "line": 176,
              "column": 3
            }
          },
          "metadata": {}
        },
        {
          "name": "previousSibling",
          "type": "?",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 178,
              "column": 2
            },
            "end": {
              "line": 187,
              "column": 3
            }
          },
          "metadata": {}
        }
      ],
      "methods": [
        {
          "name": "setData",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 133,
              "column": 2
            },
            "end": {
              "line": 151,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "data"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "contains",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 189,
              "column": 2
            },
            "end": {
              "line": 204,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "target"
            },
            {
              "name": "deep",
              "defaultValue": "true"
            }
          ]
        },
        {
          "name": "remove",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 206,
              "column": 2
            },
            "end": {
              "line": 211,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "insertChild",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 213,
              "column": 2
            },
            "end": {
              "line": 243,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "child"
            },
            {
              "name": "index"
            },
            {
              "name": "batch"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "insertBefore",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 245,
              "column": 2
            },
            "end": {
              "line": 251,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "child"
            },
            {
              "name": "ref"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "insertAfter",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 253,
              "column": 2
            },
            "end": {
              "line": 260,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "child"
            },
            {
              "name": "ref"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "removeChild",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 262,
              "column": 2
            },
            "end": {
              "line": 278,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "child"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "removeChildByData",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 280,
              "column": 2
            },
            "end": {
              "line": 293,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "data"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "expand",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 295,
              "column": 2
            },
            "end": {
              "line": 322,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "callback"
            },
            {
              "name": "expandParent"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "doCreateChildren",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 324,
              "column": 2
            },
            "end": {
              "line": 328,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "array"
            },
            {
              "name": "defaultProps",
              "defaultValue": "{}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "collapse",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 330,
              "column": 2
            },
            "end": {
              "line": 332,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "shouldLoadData",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 334,
              "column": 2
            },
            "end": {
              "line": 336,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "updateLeafState",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 338,
              "column": 2
            },
            "end": {
              "line": 349,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "setChecked",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 351,
              "column": 2
            },
            "end": {
              "line": 391,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            },
            {
              "name": "deep"
            },
            {
              "name": "recursion"
            },
            {
              "name": "passValue"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getChildren",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 393,
              "column": 2
            },
            "end": {
              "line": 413,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "forceInit",
              "defaultValue": "false"
            }
          ]
        },
        {
          "name": "updateChildren",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 415,
              "column": 2
            },
            "end": {
              "line": 443,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "loadData",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 445,
              "column": 2
            },
            "end": {
              "line": 468,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "callback"
            },
            {
              "name": "defaultProps",
              "defaultValue": "{}"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 59,
          "column": 15
        },
        "end": {
          "line": 469,
          "column": 1
        }
      },
      "privacy": "public",
      "name": "Node"
    },
    {
      "description": "",
      "summary": "",
      "path": "utils/tree/tree-store.js",
      "properties": [],
      "methods": [
        {
          "name": "setData",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 32,
              "column": 2
            },
            "end": {
              "line": 40,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "newVal"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getNode",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 42,
              "column": 2
            },
            "end": {
              "line": 46,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "data"
            }
          ]
        },
        {
          "name": "insertBefore",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 48,
              "column": 2
            },
            "end": {
              "line": 51,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "data"
            },
            {
              "name": "refData"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "insertAfter",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 53,
              "column": 2
            },
            "end": {
              "line": 56,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "data"
            },
            {
              "name": "refData"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "remove",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 58,
              "column": 2
            },
            "end": {
              "line": 67,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "data"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "append",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 69,
              "column": 2
            },
            "end": {
              "line": 75,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "data"
            },
            {
              "name": "parentData"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_initDefaultCheckedNodes",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 77,
              "column": 2
            },
            "end": {
              "line": 88,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_initDefaultCheckedNode",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 90,
              "column": 2
            },
            "end": {
              "line": 96,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "setDefaultCheckedKey",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 98,
              "column": 2
            },
            "end": {
              "line": 103,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "newVal"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "registerNode",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 105,
              "column": 2
            },
            "end": {
              "line": 111,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "deregisterNode",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 113,
              "column": 2
            },
            "end": {
              "line": 122,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getCheckedNodes",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 124,
              "column": 2
            },
            "end": {
              "line": 141,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "leafOnly",
              "defaultValue": "false"
            },
            {
              "name": "includeHalfChecked",
              "defaultValue": "false"
            }
          ]
        },
        {
          "name": "getCheckedKeys",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 143,
              "column": 2
            },
            "end": {
              "line": 145,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "leafOnly",
              "defaultValue": "false"
            }
          ]
        },
        {
          "name": "getHalfCheckedNodes",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 147,
              "column": 2
            },
            "end": {
              "line": 164,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "getHalfCheckedKeys",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 166,
              "column": 2
            },
            "end": {
              "line": 168,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "_getAllNodes",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 170,
              "column": 2
            },
            "end": {
              "line": 180,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "updateChildren",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 182,
              "column": 2
            },
            "end": {
              "line": 194,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "key"
            },
            {
              "name": "data"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_setCheckedKeys",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 196,
              "column": 2
            },
            "end": {
              "line": 238,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "key"
            },
            {
              "name": "leafOnly",
              "defaultValue": "false"
            },
            {
              "name": "checkedKeys"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "setCheckedNodes",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 240,
              "column": 2
            },
            "end": {
              "line": 248,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "array"
            },
            {
              "name": "leafOnly",
              "defaultValue": "false"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "setCheckedKeys",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 250,
              "column": 2
            },
            "end": {
              "line": 259,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "keys"
            },
            {
              "name": "leafOnly",
              "defaultValue": "false"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "setDefaultExpandedKeys",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 261,
              "column": 2
            },
            "end": {
              "line": 269,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "keys"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "setChecked",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 271,
              "column": 2
            },
            "end": {
              "line": 277,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "data"
            },
            {
              "name": "checked"
            },
            {
              "name": "deep"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getCurrentNode",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 279,
              "column": 2
            },
            "end": {
              "line": 281,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "setCurrentNode",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 283,
              "column": 2
            },
            "end": {
              "line": 290,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "currentNode"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "setUserCurrentNode",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 292,
              "column": 2
            },
            "end": {
              "line": 296,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "node"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "setCurrentNodeKey",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 298,
              "column": 2
            },
            "end": {
              "line": 308,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "key"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 3,
          "column": 15
        },
        "end": {
          "line": 309,
          "column": 1
        }
      },
      "privacy": "public",
      "name": "TreeStore"
    }
  ]
}
