{
  "schema_version": "1.0.0",
  "elements": [
    {
      "description": "Example:\r\n ```html\r\n  <isu-avatar size=\"50\" src=\"https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png\"></isu-avatar>\r\n  <isu-avatar size=\"large\" src=\"https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png\"></isu-avatar>\r\n  <isu-avatar size=\"medium\" src=\"https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png\"></isu-avatar>\r\n  <isu-avatar size=\"small\" src=\"https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png\"></isu-avatar>\r\n  <isu-avatar shape=\"square\" size=\"50\" src=\"https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png\"></isu-avatar>\r\n  <isu-avatar shape=\"square\" size=\"large\" src=\"https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png\"></isu-avatar>\r\n  <isu-avatar shape=\"square\" size=\"medium\" src=\"https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png\"></isu-avatar>\r\n  <isu-avatar shape=\"square\" size=\"small\" src=\"https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png\"></isu-avatar>\r\n  <isu-avatar icon=\"search\"></isu-avatar>\r\n  <isu-avatar src=\"https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png\"></isu-avatar>\r\n  <isu-avatar>user</isu-avatar>\r\n  <isu-avatar shape=\"square\" size=\"100\" fit=\"fit\" src=\"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg\"></isu-avatar>\r\n  <isu-avatar shape=\"square\" size=\"100\" fit=\"contain\" src=\"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg\"></isu-avatar>\r\n  <isu-avatar shape=\"square\" size=\"100\" fit=\"cover\" src=\"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg\"></isu-avatar>\r\n  <isu-avatar shape=\"square\" size=\"100\" fit=\"none\" src=\"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg\"></isu-avatar>\r\n  <isu-avatar shape=\"square\" size=\"100\" fit=\"scale-down\" src=\"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg\"></isu-avatar>\r\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": 179,
              "column": 6
            },
            "end": {
              "line": 179,
              "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": 1331,
              "column": 6
            },
            "end": {
              "line": 1331,
              "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": 1333,
              "column": 6
            },
            "end": {
              "line": 1333,
              "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": 1335,
              "column": 6
            },
            "end": {
              "line": 1335,
              "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": 1337,
              "column": 6
            },
            "end": {
              "line": 1337,
              "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": 1339,
              "column": 6
            },
            "end": {
              "line": 1339,
              "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": 1341,
              "column": 6
            },
            "end": {
              "line": 1341,
              "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": 1343,
              "column": 6
            },
            "end": {
              "line": 1343,
              "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": 1345,
              "column": 6
            },
            "end": {
              "line": 1345,
              "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": 1347,
              "column": 6
            },
            "end": {
              "line": 1347,
              "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": 1349,
              "column": 6
            },
            "end": {
              "line": 1349,
              "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": 1351,
              "column": 6
            },
            "end": {
              "line": 1351,
              "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": 1353,
              "column": 6
            },
            "end": {
              "line": 1353,
              "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": 1355,
              "column": 6
            },
            "end": {
              "line": 1355,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__computeInfo",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1357,
              "column": 6
            },
            "end": {
              "line": 1357,
              "column": 25
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__reflectEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1359,
              "column": 6
            },
            "end": {
              "line": 1359,
              "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": 1361,
              "column": 6
            },
            "end": {
              "line": 1361,
              "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": 1363,
              "column": 6
            },
            "end": {
              "line": 1363,
              "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": 1365,
              "column": 6
            },
            "end": {
              "line": 1365,
              "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": 1367,
              "column": 6
            },
            "end": {
              "line": 1367,
              "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": 1369,
              "column": 6
            },
            "end": {
              "line": 1369,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_overrideLegacyUndefined",
          "type": "boolean",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1371,
              "column": 6
            },
            "end": {
              "line": 1371,
              "column": 36
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "PROPERTY_EFFECT_TYPES",
          "type": "?",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1374,
              "column": 4
            },
            "end": {
              "line": 1376,
              "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": 558,
              "column": 6
            },
            "end": {
              "line": 558,
              "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": 560,
              "column": 6
            },
            "end": {
              "line": 560,
              "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": 562,
              "column": 6
            },
            "end": {
              "line": 562,
              "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": 564,
              "column": 6
            },
            "end": {
              "line": 564,
              "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": 566,
              "column": 6
            },
            "end": {
              "line": 566,
              "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": 568,
              "column": 6
            },
            "end": {
              "line": 568,
              "column": 13
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "icon",
          "type": "string",
          "description": "Icon type, refer to the icon type of iron-icon",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 96,
              "column": 6
            },
            "end": {
              "line": 99,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "src",
          "type": "string",
          "description": "Icon source",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 104,
              "column": 6
            },
            "end": {
              "line": 107,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "size",
          "type": "string",
          "description": "Avatar size, the value can be a numeric string or one of large, medium, small",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 113,
              "column": 6
            },
            "end": {
              "line": 116,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"onSizeChange\""
            }
          },
          "defaultValue": "\"large\""
        },
        {
          "name": "shape",
          "type": "string",
          "description": "Avatar shape, the value can be one of circle or square",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 122,
              "column": 6
            },
            "end": {
              "line": 126,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"onShapeChange\"",
              "attributeType": "String"
            }
          },
          "defaultValue": "\"circle\""
        },
        {
          "name": "fit",
          "type": "string",
          "description": "Image adaptation type, type refer to https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 132,
              "column": 6
            },
            "end": {
              "line": 135,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"cover\""
        },
        {
          "name": "alt",
          "type": "string",
          "description": "Alt text for unsuccessful image loading",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 140,
              "column": 6
            },
            "end": {
              "line": 142,
              "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": 2783,
              "column": 4
            },
            "end": {
              "line": 2816,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template to stamp"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo=",
              "description": "Optional bound template info associated\n  with the template to be stamped; if omitted the template will be\n  automatically bound."
            }
          ],
          "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": 537,
              "column": 4
            },
            "end": {
              "line": 542,
              "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": 553,
              "column": 4
            },
            "end": {
              "line": 555,
              "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": 566,
              "column": 4
            },
            "end": {
              "line": 568,
              "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": 148,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "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": 157,
              "column": 5
            },
            "end": {
              "line": 174,
              "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": 688,
              "column": 4
            },
            "end": {
              "line": 694,
              "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": 583,
              "column": 4
            },
            "end": {
              "line": 612,
              "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": 250,
              "column": 4
            },
            "end": {
              "line": 252,
              "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": 264,
              "column": 4
            },
            "end": {
              "line": 268,
              "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": 277,
              "column": 4
            },
            "end": {
              "line": 279,
              "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": 295,
              "column": 4
            },
            "end": {
              "line": 311,
              "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": "_isPropertyPending",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 318,
              "column": 4
            },
            "end": {
              "line": 320,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property is pending."
          },
          "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": 330,
              "column": 4
            },
            "end": {
              "line": 340,
              "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": 354,
              "column": 4
            },
            "end": {
              "line": 363,
              "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": 375,
              "column": 4
            },
            "end": {
              "line": 386,
              "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": 401,
              "column": 4
            },
            "end": {
              "line": 403,
              "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": 418,
              "column": 4
            },
            "end": {
              "line": 419,
              "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": 440,
              "column": 4
            },
            "end": {
              "line": 447,
              "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": 461,
              "column": 4
            },
            "end": {
              "line": 468,
              "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": 483,
              "column": 4
            },
            "end": {
              "line": 490,
              "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": 503,
              "column": 4
            },
            "end": {
              "line": 509,
              "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": 525,
              "column": 4
            },
            "end": {
              "line": 535,
              "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": 549,
              "column": 4
            },
            "end": {
              "line": 556,
              "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": 571,
              "column": 4
            },
            "end": {
              "line": 580,
              "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": 1416,
              "column": 4
            },
            "end": {
              "line": 1420,
              "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": "_registerHost",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1397,
              "column": 4
            },
            "end": {
              "line": 1405,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "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": 1455,
              "column": 4
            },
            "end": {
              "line": 1463,
              "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": 1474,
              "column": 4
            },
            "end": {
              "line": 1480,
              "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": 1493,
              "column": 4
            },
            "end": {
              "line": 1496,
              "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": 1508,
              "column": 4
            },
            "end": {
              "line": 1510,
              "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": 1522,
              "column": 4
            },
            "end": {
              "line": 1524,
              "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": 1536,
              "column": 4
            },
            "end": {
              "line": 1538,
              "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": 1550,
              "column": 4
            },
            "end": {
              "line": 1552,
              "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": 1585,
              "column": 4
            },
            "end": {
              "line": 1617,
              "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": 1641,
              "column": 4
            },
            "end": {
              "line": 1653,
              "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": 1761,
              "column": 4
            },
            "end": {
              "line": 1766,
              "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": 1776,
              "column": 4
            },
            "end": {
              "line": 1787,
              "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": 1801,
              "column": 4
            },
            "end": {
              "line": 1814,
              "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": 706,
              "column": 4
            },
            "end": {
              "line": 715,
              "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": 1845,
              "column": 4
            },
            "end": {
              "line": 1856,
              "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": 1946,
              "column": 4
            },
            "end": {
              "line": 1953,
              "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": "_runEffectsForTemplate",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1955,
              "column": 4
            },
            "end": {
              "line": 1968,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "templateInfo"
            },
            {
              "name": "changedProps"
            },
            {
              "name": "oldProps"
            },
            {
              "name": "hasPaths"
            }
          ],
          "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": 1980,
              "column": 4
            },
            "end": {
              "line": 1985,
              "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": 1998,
              "column": 4
            },
            "end": {
              "line": 2003,
              "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": 2039,
              "column": 4
            },
            "end": {
              "line": 2043,
              "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": 2065,
              "column": 4
            },
            "end": {
              "line": 2067,
              "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": 2091,
              "column": 4
            },
            "end": {
              "line": 2101,
              "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": 2118,
              "column": 4
            },
            "end": {
              "line": 2127,
              "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": 2143,
              "column": 4
            },
            "end": {
              "line": 2152,
              "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": 2172,
              "column": 4
            },
            "end": {
              "line": 2209,
              "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": 2225,
              "column": 4
            },
            "end": {
              "line": 2234,
              "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": 2251,
              "column": 4
            },
            "end": {
              "line": 2259,
              "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": 2275,
              "column": 4
            },
            "end": {
              "line": 2292,
              "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": 2306,
              "column": 4
            },
            "end": {
              "line": 2313,
              "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": 2329,
              "column": 4
            },
            "end": {
              "line": 2339,
              "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": 2353,
              "column": 4
            },
            "end": {
              "line": 2359,
              "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": 2371,
              "column": 4
            },
            "end": {
              "line": 2379,
              "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": 2392,
              "column": 4
            },
            "end": {
              "line": 2405,
              "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": 2420,
              "column": 4
            },
            "end": {
              "line": 2429,
              "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": 2444,
              "column": 4
            },
            "end": {
              "line": 2470,
              "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 an instance\nto add effects at runtime.  See that method for full 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": 2690,
              "column": 4
            },
            "end": {
              "line": 2736,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template containing binding\nbindings"
            },
            {
              "name": "instanceBinding",
              "type": "boolean=",
              "description": "When false (default), performs\n\"prototypical\" binding of the template and overwrites any previously\nbound template for the class. When true (as passed from\n`_stampTemplate`), the template info is instanced and linked into the\nlist of bound templates."
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Template metadata object; for `runtimeBinding`,\nthis 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": 2828,
              "column": 4
            },
            "end": {
              "line": 2852,
              "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": 675,
              "column": 4
            },
            "end": {
              "line": 680,
              "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": "_canApplyPropertyDefault",
          "description": "Determines if a property dfeault can be applied. For example, this\nprevents a default from being applied when a property that has no\naccessor is overridden by its host before upgrade (e.g. via a binding).",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 622,
              "column": 4
            },
            "end": {
              "line": 624,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property default can be applied."
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "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": 730,
              "column": 4
            },
            "end": {
              "line": 755,
              "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": 779,
              "column": 4
            },
            "end": {
              "line": 783,
              "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": 801,
              "column": 4
            },
            "end": {
              "line": 806,
              "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": 146,
              "column": 2
            },
            "end": {
              "line": 153,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "size"
            }
          ]
        },
        {
          "name": "getImgStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 155,
              "column": 2
            },
            "end": {
              "line": 157,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "fit"
            }
          ]
        },
        {
          "name": "showSlot",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 159,
              "column": 2
            },
            "end": {
              "line": 161,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "src"
            },
            {
              "name": "icon"
            }
          ]
        },
        {
          "name": "showIcon",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 163,
              "column": 2
            },
            "end": {
              "line": 165,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "icon"
            }
          ]
        },
        {
          "name": "showSrc",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 167,
              "column": 2
            },
            "end": {
              "line": 169,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "src"
            }
          ]
        },
        {
          "name": "getAvatarStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 171,
              "column": 2
            },
            "end": {
              "line": 175,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "size"
            }
          ]
        },
        {
          "name": "getAvatarClass",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 177,
              "column": 2
            },
            "end": {
              "line": 182,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "size"
            },
            {
              "name": "shape"
            }
          ]
        },
        {
          "name": "onSizeChange",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 184,
              "column": 2
            },
            "end": {
              "line": 189,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "size"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "onShapeChange",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 191,
              "column": 2
            },
            "end": {
              "line": 196,
              "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": 247,
              "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": 821,
              "column": 4
            },
            "end": {
              "line": 827,
              "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": 2871,
              "column": 4
            },
            "end": {
              "line": 2888,
              "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": 327,
              "column": 4
            },
            "end": {
              "line": 365,
              "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": 2978,
              "column": 4
            },
            "end": {
              "line": 3028,
              "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": 408,
              "column": 4
            },
            "end": {
              "line": 417,
              "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": 2909,
              "column": 4
            },
            "end": {
              "line": 2962,
              "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": 465,
              "column": 4
            },
            "end": {
              "line": 468,
              "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": 408,
              "column": 4
            },
            "end": {
              "line": 413,
              "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": 2511,
              "column": 4
            },
            "end": {
              "line": 2513,
              "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": 2526,
              "column": 4
            },
            "end": {
              "line": 2528,
              "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": 2544,
              "column": 4
            },
            "end": {
              "line": 2546,
              "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": 2557,
              "column": 4
            },
            "end": {
              "line": 2559,
              "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": 2578,
              "column": 4
            },
            "end": {
              "line": 2580,
              "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": 2591,
              "column": 4
            },
            "end": {
              "line": 2593,
              "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": 2610,
              "column": 4
            },
            "end": {
              "line": 2612,
              "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": 2627,
              "column": 4
            },
            "end": {
              "line": 2629,
              "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": 841,
              "column": 4
            },
            "end": {
              "line": 866,
              "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": 3075,
              "column": 4
            },
            "end": {
              "line": 3140,
              "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": 3157,
              "column": 4
            },
            "end": {
              "line": 3174,
              "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": 372,
              "column": 4
            },
            "end": {
              "line": 381,
              "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": 384,
              "column": 4
            },
            "end": {
              "line": 398,
              "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": 427,
              "column": 4
            },
            "end": {
              "line": 432,
              "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": 635,
              "column": 4
            },
            "end": {
              "line": 637,
              "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": 649,
              "column": 4
            },
            "end": {
              "line": 660,
              "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": 29,
          "column": 0
        },
        "end": {
          "line": 197,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "PolymerElement",
      "name": "IsuAvatar",
      "attributes": [
        {
          "name": "icon",
          "description": "Icon type, refer to the icon type of iron-icon",
          "sourceRange": {
            "start": {
              "line": 96,
              "column": 6
            },
            "end": {
              "line": 99,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "src",
          "description": "Icon source",
          "sourceRange": {
            "start": {
              "line": 104,
              "column": 6
            },
            "end": {
              "line": 107,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "size",
          "description": "Avatar size, the value can be a numeric string or one of large, medium, small",
          "sourceRange": {
            "start": {
              "line": 113,
              "column": 6
            },
            "end": {
              "line": 116,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "shape",
          "description": "Avatar shape, the value can be one of circle or square",
          "sourceRange": {
            "start": {
              "line": 122,
              "column": 6
            },
            "end": {
              "line": 126,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "fit",
          "description": "Image adaptation type, type refer to https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit",
          "sourceRange": {
            "start": {
              "line": 132,
              "column": 6
            },
            "end": {
              "line": 135,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "alt",
          "description": "Alt text for unsuccessful image loading",
          "sourceRange": {
            "start": {
              "line": 140,
              "column": 6
            },
            "end": {
              "line": 142,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-avatar"
    },
    {
      "description": "`isu-loading`\n\nExample:\n```html\n<isu-loading opened></isu-loading>\n<isu-loading text=\"加载中...\"></isu-loading>\n<isu-loading id=\"loading4\" text=\"加载中...\" background=\"rgba(0, 0, 0, 0.8)\" target=\"#table\" style=\"display: none\"></isu-loading>\n<div id=\"table\" style=\"width: 400px; height: 600px; border: 1px solid red;\"></div>\n\n```",
      "summary": "",
      "path": "isu-loading.js",
      "properties": [
        {
          "name": "background",
          "type": "string | null | undefined",
          "description": "遮罩背景色",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 93,
              "column": 6
            },
            "end": {
              "line": 96,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"rgba(0, 0, 0, 0.2)\""
        },
        {
          "name": "text",
          "type": "string | null | undefined",
          "description": "加载文案",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 100,
              "column": 6
            },
            "end": {
              "line": 103,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "target",
          "type": "string | null | undefined",
          "description": "需要显示loading的节点名称",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 107,
              "column": 6
            },
            "end": {
              "line": 110,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_backgroundChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 122,
              "column": 2
            },
            "end": {
              "line": 124,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "background"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_targetChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 126,
              "column": 2
            },
            "end": {
              "line": 135,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "target"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-loading/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 22,
          "column": 0
        },
        "end": {
          "line": 136,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuLoading",
      "attributes": [
        {
          "name": "background",
          "description": "遮罩背景色",
          "sourceRange": {
            "start": {
              "line": 93,
              "column": 6
            },
            "end": {
              "line": 96,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "text",
          "description": "加载文案",
          "sourceRange": {
            "start": {
              "line": 100,
              "column": 6
            },
            "end": {
              "line": 103,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "target",
          "description": "需要显示loading的节点名称",
          "sourceRange": {
            "start": {
              "line": 107,
              "column": 6
            },
            "end": {
              "line": 110,
              "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`\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-default` | Button type=default style | {}\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": 192,
              "column": 6
            },
            "end": {
              "line": 196,
              "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": 203,
              "column": 6
            },
            "end": {
              "line": 207,
              "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": 213,
              "column": 6
            },
            "end": {
              "line": 216,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "hidden",
          "type": "boolean | null | undefined",
          "description": "If true hides the component， default false",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 220,
              "column": 6
            },
            "end": {
              "line": 224,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "permission",
          "type": "boolean | null | undefined",
          "description": "If you do not have permissions, the component does not display",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 230,
              "column": 6
            },
            "end": {
              "line": 234,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_permissionChange\"",
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        }
      ],
      "methods": [
        {
          "name": "_permissionChange",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 238,
              "column": 2
            },
            "end": {
              "line": 240,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "permission"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-button/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 74,
          "column": 0
        },
        "end": {
          "line": 241,
          "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": 192,
              "column": 6
            },
            "end": {
              "line": 196,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "size",
          "description": "Properties can be selected as small, normal or large",
          "sourceRange": {
            "start": {
              "line": 203,
              "column": 6
            },
            "end": {
              "line": 207,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "disabled",
          "description": "Set to true, if the input is readonly.",
          "sourceRange": {
            "start": {
              "line": 213,
              "column": 6
            },
            "end": {
              "line": 216,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "hidden",
          "description": "If true hides the component， default false",
          "sourceRange": {
            "start": {
              "line": 220,
              "column": 6
            },
            "end": {
              "line": 224,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "permission",
          "description": "If you do not have permissions, the component does not display",
          "sourceRange": {
            "start": {
              "line": 230,
              "column": 6
            },
            "end": {
              "line": 234,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-button"
    },
    {
      "description": "",
      "summary": "",
      "path": "isu-iron-fit.js",
      "properties": [
        {
          "name": "scrollDomList",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 23,
              "column": 6
            },
            "end": {
              "line": 28,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "_raf",
          "type": "Element | null | undefined",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 29,
              "column": 6
            },
            "end": {
              "line": 31,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Element"
            }
          }
        },
        {
          "name": "hidden",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 32,
              "column": 6
            },
            "end": {
              "line": 36,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "intersectionObserver",
          "type": "IntersectionObserver | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 37,
              "column": 6
            },
            "end": {
              "line": 39,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "IntersectionObserver"
            }
          }
        },
        {
          "name": "isVisible",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 40,
              "column": 6
            },
            "end": {
              "line": 43,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "scrollAddEvent",
          "description": "1. 查找全部父级滚动条\n2. 绑定 Y 与 X 滚动事件（触发更新位置）",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 52,
              "column": 2
            },
            "end": {
              "line": 70,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e",
              "type": "Element",
              "description": "dom"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "addEvent",
          "description": "绑定触发事件",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 76,
              "column": 2
            },
            "end": {
              "line": 79,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e",
              "type": "Element",
              "description": "dom"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "ifOverflow",
          "description": "判断是否有滚动条\n不用e.scrollHeight > e.clientHeight 是因为我节点设了overflow=auto 内容没超会不显示滚动条。但是我要绑定最近的一级的",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 87,
              "column": 2
            },
            "end": {
              "line": 91,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e",
              "type": "Element",
              "description": "dom"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "该节点是否有滚动条"
          }
        },
        {
          "name": "scrollOrResizeRefit",
          "description": "更新位置",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 96,
              "column": 2
            },
            "end": {
              "line": 106,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "visibility",
          "description": "设置可见",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 112,
              "column": 2
            },
            "end": {
              "line": 114,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isVisibility",
              "type": "boolean",
              "description": "是否可见"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 116,
              "column": 2
            },
            "end": {
              "line": 120,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_positionTargetChanged",
          "description": "绑定节点发生变化",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 130,
              "column": 2
            },
            "end": {
              "line": 149,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e",
              "type": "Element",
              "description": "附着的元素的dom"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_minWidth",
          "description": "设置最小宽度",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 155,
              "column": 2
            },
            "end": {
              "line": 158,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e",
              "type": "Element",
              "description": "dom"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_hidden",
          "description": "被用hidden隐藏\n取消监听",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 164,
              "column": 2
            },
            "end": {
              "line": 171,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "hidden"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "destroy",
          "description": "销毁全部绑定的事件",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 176,
              "column": 2
            },
            "end": {
              "line": 185,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "fixPosition",
          "description": "修正位置",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 190,
              "column": 2
            },
            "end": {
              "line": 193,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 194,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuIronFit",
      "attributes": [
        {
          "name": "scroll-dom-list",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 23,
              "column": 6
            },
            "end": {
              "line": 28,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "hidden",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 32,
              "column": 6
            },
            "end": {
              "line": 36,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "intersection-observer",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 37,
              "column": 6
            },
            "end": {
              "line": 39,
              "column": 7
            }
          },
          "metadata": {},
          "type": "IntersectionObserver | null | undefined"
        },
        {
          "name": "is-visible",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 40,
              "column": 6
            },
            "end": {
              "line": 43,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-iron-fit"
    },
    {
      "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` | The style of the trigger button | {}\n|`--isu-button-group-dropdown` | The style of the dropdown menu | {}\n|`--isu-button-group-height` | The height of the trigger button | 100%",
      "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": 211,
              "column": 6
            },
            "end": {
              "line": 215,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"medium\""
        },
        {
          "name": "type",
          "type": "string | null | undefined",
          "description": "Properties can be selected as default, primary, warning, danger or success",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 222,
              "column": 6
            },
            "end": {
              "line": 224,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "Label of the action group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 231,
              "column": 6
            },
            "end": {
              "line": 233,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "opened",
          "type": "boolean | null | undefined",
          "description": "Return true if the action group is expanded.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 239,
              "column": 6
            },
            "end": {
              "line": 243,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "items",
          "type": "Array | null | undefined",
          "description": "The dropdown items.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 249,
              "column": 6
            },
            "end": {
              "line": 251,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "attrForLabel",
          "type": "string | null | undefined",
          "description": "Attribute name for label.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 258,
              "column": 6
            },
            "end": {
              "line": 261,
              "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": 267,
              "column": 6
            },
            "end": {
              "line": 269,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "disabled",
          "type": "boolean | null | undefined",
          "description": "Return true if the button-group element is disabled",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 275,
              "column": 6
            },
            "end": {
              "line": 279,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "hideItemsOnClick",
          "type": "boolean | null | undefined",
          "description": "The items will hide when user clicks one item",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 285,
              "column": 6
            },
            "end": {
              "line": 288,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "permission",
          "type": "boolean | null | undefined",
          "description": "Whether to show itself or not",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 292,
              "column": 6
            },
            "end": {
              "line": 295,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "hidden",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 296,
              "column": 6
            },
            "end": {
              "line": 300,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Boolean"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "__isHiddenButton",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 308,
              "column": 2
            },
            "end": {
              "line": 311,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "permission"
            },
            {
              "name": "items"
            }
          ]
        },
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 313,
              "column": 2
            },
            "end": {
              "line": 321,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "open",
          "description": "Expand the group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 326,
              "column": 2
            },
            "end": {
              "line": 329,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "close",
          "description": "Collpase the group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 334,
              "column": 2
            },
            "end": {
              "line": 336,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "toggle",
          "description": "Toggle the group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 341,
              "column": 2
            },
            "end": {
              "line": 352,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_onButtonClick",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 354,
              "column": 2
            },
            "end": {
              "line": 368,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getElemPos",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 370,
              "column": 2
            },
            "end": {
              "line": 373,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "obj"
            }
          ]
        },
        {
          "name": "_onButtonDropdownClick",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 375,
              "column": 2
            },
            "end": {
              "line": 387,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_hasPermission",
          "description": "Whether the item has the permission to show or not",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 392,
              "column": 2
            },
            "end": {
              "line": 395,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            }
          ]
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-button-group/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 45,
          "column": 0
        },
        "end": {
          "line": 396,
          "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": 211,
              "column": 6
            },
            "end": {
              "line": 215,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "type",
          "description": "Properties can be selected as default, primary, warning, danger or success",
          "sourceRange": {
            "start": {
              "line": 222,
              "column": 6
            },
            "end": {
              "line": 224,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "label",
          "description": "Label of the action group.",
          "sourceRange": {
            "start": {
              "line": 231,
              "column": 6
            },
            "end": {
              "line": 233,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "opened",
          "description": "Return true if the action group is expanded.",
          "sourceRange": {
            "start": {
              "line": 239,
              "column": 6
            },
            "end": {
              "line": 243,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "items",
          "description": "The dropdown items.",
          "sourceRange": {
            "start": {
              "line": 249,
              "column": 6
            },
            "end": {
              "line": 251,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "attr-for-label",
          "description": "Attribute name for label.",
          "sourceRange": {
            "start": {
              "line": 258,
              "column": 6
            },
            "end": {
              "line": 261,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "on-item-click",
          "description": "The Function called when user click on every item on dropdownlist.",
          "sourceRange": {
            "start": {
              "line": 267,
              "column": 6
            },
            "end": {
              "line": 269,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "disabled",
          "description": "Return true if the button-group element is disabled",
          "sourceRange": {
            "start": {
              "line": 275,
              "column": 6
            },
            "end": {
              "line": 279,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "hide-items-on-click",
          "description": "The items will hide when user clicks one item",
          "sourceRange": {
            "start": {
              "line": 285,
              "column": 6
            },
            "end": {
              "line": 288,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "permission",
          "description": "Whether to show itself or not",
          "sourceRange": {
            "start": {
              "line": 292,
              "column": 6
            },
            "end": {
              "line": 295,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "hidden",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 296,
              "column": 6
            },
            "end": {
              "line": 300,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-button-group"
    },
    {
      "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": 77,
              "column": 6
            },
            "end": {
              "line": 79,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "error",
          "type": "{content: *}",
          "description": "Error is undefined when window.__mockEnabled is true",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 85,
              "column": 6
            },
            "end": {
              "line": 88,
              "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": 92,
              "column": 6
            },
            "end": {
              "line": 95,
              "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": 103,
              "column": 6
            },
            "end": {
              "line": 106,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"json\""
        },
        {
          "name": "responseBody",
          "type": "{content: *}",
          "description": "Handled response body.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 112,
              "column": 6
            },
            "end": {
              "line": 115,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "__defaultRequest",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 117,
              "column": 6
            },
            "end": {
              "line": 123,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Object"
            }
          },
          "defaultValue": "{\"credentials\":\"include\"}"
        },
        {
          "name": "__defaultHeaders",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 125,
              "column": 6
            },
            "end": {
              "line": 133,
              "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": 135,
              "column": 6
            },
            "end": {
              "line": 137,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "__signal",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 6
            },
            "end": {
              "line": 141,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "loading",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 143,
              "column": 6
            },
            "end": {
              "line": 146,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "__getCorrectedRequest",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 170,
              "column": 2
            },
            "end": {
              "line": 178,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "request"
            }
          ]
        },
        {
          "name": "__formatUrlData",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 2
            },
            "end": {
              "line": 191,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "url"
            },
            {
              "name": "data"
            }
          ]
        },
        {
          "name": "__requestChange",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 2
            },
            "end": {
              "line": 196,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "request"
            }
          ]
        },
        {
          "name": "__responseChange",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 198,
              "column": 2
            },
            "end": {
              "line": 213,
              "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": 221,
              "column": 2
            },
            "end": {
              "line": 243,
              "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": 248,
              "column": 2
            },
            "end": {
              "line": 250,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "abortAll",
          "description": "Abort all pending requests.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 255,
              "column": 2
            },
            "end": {
              "line": 257,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "fetchAll",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 262,
              "column": 2
            },
            "end": {
              "line": 264,
              "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": 265,
          "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": 77,
              "column": 6
            },
            "end": {
              "line": 79,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object"
        },
        {
          "name": "error",
          "description": "Error is undefined when window.__mockEnabled is true",
          "sourceRange": {
            "start": {
              "line": 85,
              "column": 6
            },
            "end": {
              "line": 88,
              "column": 7
            }
          },
          "metadata": {},
          "type": "{content: *}"
        },
        {
          "name": "response",
          "description": "See [Response API](https://developer.mozilla.org/en-US/docs/Web/API/Response)",
          "sourceRange": {
            "start": {
              "line": 92,
              "column": 6
            },
            "end": {
              "line": 95,
              "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": 103,
              "column": 6
            },
            "end": {
              "line": 106,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "response-body",
          "description": "Handled response body.",
          "sourceRange": {
            "start": {
              "line": 112,
              "column": 6
            },
            "end": {
              "line": 115,
              "column": 7
            }
          },
          "metadata": {},
          "type": "{content: *}"
        },
        {
          "name": "loading",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 143,
              "column": 6
            },
            "end": {
              "line": 146,
              "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-cascading`\n\n```html\n <isu-cascading class=\"isu-cascading\" label=\"地址\" id=\"cascading\" attr-for-label=\"label\" attr-for-value=\"value\" separator=\">\" required show-all-levels></isu-cascading>\n\n```",
      "summary": "",
      "path": "isu-cascading.js",
      "properties": [
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "Label of the cascading element",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 247,
              "column": 6
            },
            "end": {
              "line": 249,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "string | null | undefined",
          "description": "Placeholder of the cascading container",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 256,
              "column": 6
            },
            "end": {
              "line": 259,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"请选择\""
        },
        {
          "name": "opened",
          "type": "boolean | null | undefined",
          "description": "if is true, the collapse cascading will open.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 266,
              "column": 6
            },
            "end": {
              "line": 270,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "items",
          "type": "Array | null | undefined",
          "description": "The items of the cascading, is passed in by the customer.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 277,
              "column": 6
            },
            "end": {
              "line": 280,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "_fetchUtil",
          "type": "Object | null | undefined",
          "description": "The component that sends the request and simulates the data",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 284,
              "column": 6
            },
            "end": {
              "line": 290,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "treeItems",
          "type": "Array | null | undefined",
          "description": "The items of the cascading, equals to items. If 'lazy' is true, can also be passed in by the customer.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 297,
              "column": 6
            },
            "end": {
              "line": 301,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "value",
          "type": "Array | null | undefined",
          "description": "The attrForValue array selected from the selectedValues. eg: [\"zhinan\", \"shejiyuanze\", \"fankui\"]",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 308,
              "column": 6
            },
            "end": {
              "line": 312,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "selectedValues",
          "type": "Array | null | undefined",
          "description": "The array selected from the treeItems.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 319,
              "column": 6
            },
            "end": {
              "line": 323,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "valueLabel",
          "type": "string | null | undefined",
          "description": "The value showed in the cascading container input. eg: 指南>设计原则>反馈",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 330,
              "column": 6
            },
            "end": {
              "line": 333,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "lazy",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 334,
              "column": 6
            },
            "end": {
              "line": 334,
              "column": 19
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "attrForValue",
          "type": "string",
          "description": "Attribute name for value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 340,
              "column": 6
            },
            "end": {
              "line": 343,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"value\""
        },
        {
          "name": "prompt",
          "type": "String",
          "description": "The prompt tip to show when input is invalid.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 348,
              "column": 6
            },
            "end": {
              "line": 350,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "promptPosition",
          "type": "string | null | undefined",
          "description": "The prompt tip's position. top/bottom",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 356,
              "column": 6
            },
            "end": {
              "line": 359,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "attrForLabel",
          "type": "string",
          "description": "Attribute name for label.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 367,
              "column": 6
            },
            "end": {
              "line": 370,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "separator",
          "type": "string | null | undefined",
          "description": "Separator for the valueLabel",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 378,
              "column": 6
            },
            "end": {
              "line": 381,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"/\""
        },
        {
          "name": "required",
          "type": "boolean | null | undefined",
          "description": "Is required",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 389,
              "column": 6
            },
            "end": {
              "line": 393,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "readonly",
          "type": "boolean | null | undefined",
          "description": "Is readonly",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 401,
              "column": 6
            },
            "end": {
              "line": 405,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "expandTrigger",
          "type": "string | null | undefined",
          "description": "The way the secondary menu is expanded(click/hover)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 413,
              "column": 6
            },
            "end": {
              "line": 416,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"click\""
        },
        {
          "name": "showAllLevels",
          "type": "boolean | null | undefined",
          "description": "Show the whole path of the selected value in the input box. Show the last path if it is false.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 423,
              "column": 6
            },
            "end": {
              "line": 426,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "showLabel",
          "type": "string | null | undefined",
          "description": "Values displayed in the input box",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 432,
              "column": 6
            },
            "end": {
              "line": 435,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "src",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 436,
              "column": 6
            },
            "end": {
              "line": 438,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "fetchParam",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 439,
              "column": 6
            },
            "end": {
              "line": 442,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "keywordPath",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 443,
              "column": 6
            },
            "end": {
              "line": 446,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"keyword\""
        },
        {
          "name": "isInnnerDynamicAppendData",
          "type": "boolean",
          "description": "Whether to get data dynamically internally",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 452,
              "column": 6
            },
            "end": {
              "line": 455,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "isDynamicAppendData",
          "type": "boolean",
          "description": "Whether to get data dynamically outside",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 461,
              "column": 6
            },
            "end": {
              "line": 464,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "currentClickViewElement",
          "type": "object",
          "description": "The parent element of the currently clicked option",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 470,
              "column": 6
            },
            "end": {
              "line": 473,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Object"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "__itemsChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 486,
              "column": 2
            },
            "end": {
              "line": 488,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__valueChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 490,
              "column": 2
            },
            "end": {
              "line": 508,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__treeItemsChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 510,
              "column": 2
            },
            "end": {
              "line": 527,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "treeItems"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_mkRequest",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 529,
              "column": 2
            },
            "end": {
              "line": 540,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "data"
            },
            {
              "name": "src"
            }
          ]
        },
        {
          "name": "__srcChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 542,
              "column": 2
            },
            "end": {
              "line": 562,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "src"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__setViewClass",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 564,
              "column": 2
            },
            "end": {
              "line": 566,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "select"
            }
          ]
        },
        {
          "name": "__onInputClick",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 568,
              "column": 2
            },
            "end": {
              "line": 572,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__cancelClick",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 574,
              "column": 2
            },
            "end": {
              "line": 576,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__viewItemClick",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 578,
              "column": 2
            },
            "end": {
              "line": 610,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__getInnerDynamicAppendData",
          "description": "内部动态获取数据",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 615,
              "column": 2
            },
            "end": {
              "line": 637,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "element"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "close",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 639,
              "column": 2
            },
            "end": {
              "line": 641,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "clear",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 643,
              "column": 2
            },
            "end": {
              "line": 660,
              "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": 666,
              "column": 2
            },
            "end": {
              "line": 669,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        },
        {
          "name": "__isHover",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 671,
              "column": 2
            },
            "end": {
              "line": 673,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "expandTrigger"
            }
          ]
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-cascading/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 23,
          "column": 0
        },
        "end": {
          "line": 678,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuCascading",
      "attributes": [
        {
          "name": "label",
          "description": "Label of the cascading element",
          "sourceRange": {
            "start": {
              "line": 247,
              "column": 6
            },
            "end": {
              "line": 249,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "placeholder",
          "description": "Placeholder of the cascading container",
          "sourceRange": {
            "start": {
              "line": 256,
              "column": 6
            },
            "end": {
              "line": 259,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "opened",
          "description": "if is true, the collapse cascading will open.",
          "sourceRange": {
            "start": {
              "line": 266,
              "column": 6
            },
            "end": {
              "line": 270,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "items",
          "description": "The items of the cascading, is passed in by the customer.",
          "sourceRange": {
            "start": {
              "line": 277,
              "column": 6
            },
            "end": {
              "line": 280,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "tree-items",
          "description": "The items of the cascading, equals to items. If 'lazy' is true, can also be passed in by the customer.",
          "sourceRange": {
            "start": {
              "line": 297,
              "column": 6
            },
            "end": {
              "line": 301,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "value",
          "description": "The attrForValue array selected from the selectedValues. eg: [\"zhinan\", \"shejiyuanze\", \"fankui\"]",
          "sourceRange": {
            "start": {
              "line": 308,
              "column": 6
            },
            "end": {
              "line": 312,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "selected-values",
          "description": "The array selected from the treeItems.",
          "sourceRange": {
            "start": {
              "line": 319,
              "column": 6
            },
            "end": {
              "line": 323,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "value-label",
          "description": "The value showed in the cascading container input. eg: 指南>设计原则>反馈",
          "sourceRange": {
            "start": {
              "line": 330,
              "column": 6
            },
            "end": {
              "line": 333,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "lazy",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 334,
              "column": 6
            },
            "end": {
              "line": 334,
              "column": 19
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "attr-for-value",
          "description": "Attribute name for value.",
          "sourceRange": {
            "start": {
              "line": 340,
              "column": 6
            },
            "end": {
              "line": 343,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "prompt",
          "description": "The prompt tip to show when input is invalid.",
          "sourceRange": {
            "start": {
              "line": 348,
              "column": 6
            },
            "end": {
              "line": 350,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        },
        {
          "name": "prompt-position",
          "description": "The prompt tip's position. top/bottom",
          "sourceRange": {
            "start": {
              "line": 356,
              "column": 6
            },
            "end": {
              "line": 359,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "attr-for-label",
          "description": "Attribute name for label.",
          "sourceRange": {
            "start": {
              "line": 367,
              "column": 6
            },
            "end": {
              "line": 370,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "separator",
          "description": "Separator for the valueLabel",
          "sourceRange": {
            "start": {
              "line": 378,
              "column": 6
            },
            "end": {
              "line": 381,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "required",
          "description": "Is required",
          "sourceRange": {
            "start": {
              "line": 389,
              "column": 6
            },
            "end": {
              "line": 393,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "readonly",
          "description": "Is readonly",
          "sourceRange": {
            "start": {
              "line": 401,
              "column": 6
            },
            "end": {
              "line": 405,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "expand-trigger",
          "description": "The way the secondary menu is expanded(click/hover)",
          "sourceRange": {
            "start": {
              "line": 413,
              "column": 6
            },
            "end": {
              "line": 416,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "show-all-levels",
          "description": "Show the whole path of the selected value in the input box. Show the last path if it is false.",
          "sourceRange": {
            "start": {
              "line": 423,
              "column": 6
            },
            "end": {
              "line": 426,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "show-label",
          "description": "Values displayed in the input box",
          "sourceRange": {
            "start": {
              "line": 432,
              "column": 6
            },
            "end": {
              "line": 435,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "src",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 436,
              "column": 6
            },
            "end": {
              "line": 438,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "fetch-param",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 439,
              "column": 6
            },
            "end": {
              "line": 442,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "keyword-path",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 443,
              "column": 6
            },
            "end": {
              "line": 446,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "is-innner-dynamic-append-data",
          "description": "Whether to get data dynamically internally",
          "sourceRange": {
            "start": {
              "line": 452,
              "column": 6
            },
            "end": {
              "line": 455,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "is-dynamic-append-data",
          "description": "Whether to get data dynamically outside",
          "sourceRange": {
            "start": {
              "line": 461,
              "column": 6
            },
            "end": {
              "line": 464,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "current-click-view-element",
          "description": "The parent element of the currently clicked option",
          "sourceRange": {
            "start": {
              "line": 470,
              "column": 6
            },
            "end": {
              "line": 473,
              "column": 7
            }
          },
          "metadata": {},
          "type": "object"
        }
      ],
      "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": {}
        },
        {
          "type": "CustomEvent",
          "name": "fetch-param-changed",
          "description": "Fired when the `fetchParam` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "current-click-view-element-changed",
          "description": "Fired when the `currentClickViewElement` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-cascading"
    },
    {
      "description": "`isu-checkbox-group`\n\nExample:\n```html\n<isu-checkbox-group label=\"材料\" value=\"0\" items=\"{{items}}\"></isu-checkbox-group>\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-checkbox-group-label` | Mixin applied to the label of checkbox | {}\n|`--isu-checkbox-group-checked-color` | Mixin applied to color of the checkbox when it is checked | #0099FF",
      "summary": "",
      "path": "isu-checkbox-group.js",
      "properties": [
        {
          "name": "label",
          "type": "string",
          "description": "The label of the Checkbox",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 6
            },
            "end": {
              "line": 141,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "items",
          "type": "array",
          "description": "Candidates of the checkbox group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 147,
              "column": 6
            },
            "end": {
              "line": 149,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "_items",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 151,
              "column": 6
            },
            "end": {
              "line": 154,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "value",
          "type": "string",
          "description": "The selected value of checkbox group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 160,
              "column": 6
            },
            "end": {
              "line": 163,
              "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": 169,
              "column": 6
            },
            "end": {
              "line": 172,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "attrForValue",
          "type": "string",
          "description": "Attribute name for value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 178,
              "column": 6
            },
            "end": {
              "line": 181,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"value\""
        },
        {
          "name": "attrForLabel",
          "type": "string",
          "description": "Attribute name for label.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 187,
              "column": 6
            },
            "end": {
              "line": 190,
              "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": 197,
              "column": 6
            },
            "end": {
              "line": 201,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "min",
          "type": "number | null | undefined",
          "description": "A limit on the number of optional items, smallest optional",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 207,
              "column": 6
            },
            "end": {
              "line": 209,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "max",
          "type": "number | null | undefined",
          "description": "A limit on the number of optional items, biggest optional",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 215,
              "column": 6
            },
            "end": {
              "line": 217,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "prompt",
          "type": "string | null | undefined",
          "description": "The prompt tip to show when input is invalid.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 222,
              "column": 6
            },
            "end": {
              "line": 224,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "promptPosition",
          "type": "string | null | undefined",
          "description": "The prompt tip's position. top/bottom",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 231,
              "column": 6
            },
            "end": {
              "line": 234,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Set to true if the selection is readonly.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 240,
              "column": 6
            },
            "end": {
              "line": 244,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "__readonlyChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 260,
              "column": 2
            },
            "end": {
              "line": 264,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "readonly"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__computedInnerItems",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 266,
              "column": 2
            },
            "end": {
              "line": 287,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "items",
              "defaultValue": "[]"
            },
            {
              "name": "value",
              "defaultValue": "''"
            }
          ]
        },
        {
          "name": "__checkedChangeHandler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 289,
              "column": 2
            },
            "end": {
              "line": 292,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__valueChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 297,
              "column": 2
            },
            "end": {
              "line": 301,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value",
              "defaultValue": "''"
            },
            {
              "name": "items",
              "defaultValue": "[]"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__parseValues",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 306,
              "column": 2
            },
            "end": {
              "line": 308,
              "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": 314,
              "column": 2
            },
            "end": {
              "line": 332,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-checkbox-group/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 30,
          "column": 0
        },
        "end": {
          "line": 333,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuCheckboxGroup",
      "attributes": [
        {
          "name": "label",
          "description": "The label of the Checkbox",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 6
            },
            "end": {
              "line": 141,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "items",
          "description": "Candidates of the checkbox group.",
          "sourceRange": {
            "start": {
              "line": 147,
              "column": 6
            },
            "end": {
              "line": 149,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "value",
          "description": "The selected value of checkbox group.",
          "sourceRange": {
            "start": {
              "line": 160,
              "column": 6
            },
            "end": {
              "line": 163,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "selected-values",
          "description": "The selected value items of checkbox group.",
          "sourceRange": {
            "start": {
              "line": 169,
              "column": 6
            },
            "end": {
              "line": 172,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "attr-for-value",
          "description": "Attribute name for value.",
          "sourceRange": {
            "start": {
              "line": 178,
              "column": 6
            },
            "end": {
              "line": 181,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "attr-for-label",
          "description": "Attribute name for label.",
          "sourceRange": {
            "start": {
              "line": 187,
              "column": 6
            },
            "end": {
              "line": 190,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "required",
          "description": "Set to true if the selection is required.",
          "sourceRange": {
            "start": {
              "line": 197,
              "column": 6
            },
            "end": {
              "line": 201,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "min",
          "description": "A limit on the number of optional items, smallest optional",
          "sourceRange": {
            "start": {
              "line": 207,
              "column": 6
            },
            "end": {
              "line": 209,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "max",
          "description": "A limit on the number of optional items, biggest optional",
          "sourceRange": {
            "start": {
              "line": 215,
              "column": 6
            },
            "end": {
              "line": 217,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "prompt",
          "description": "The prompt tip to show when input is invalid.",
          "sourceRange": {
            "start": {
              "line": 222,
              "column": 6
            },
            "end": {
              "line": 224,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "prompt-position",
          "description": "The prompt tip's position. top/bottom",
          "sourceRange": {
            "start": {
              "line": 231,
              "column": 6
            },
            "end": {
              "line": 234,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "readonly",
          "description": "Set to true if the selection is readonly.",
          "sourceRange": {
            "start": {
              "line": 240,
              "column": 6
            },
            "end": {
              "line": 244,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        }
      ],
      "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": "`isu-dialog`\n\nExample:\n```html\n<isu-dialog id=\"dialog\">Put your Content here inside an element which with [slot=container]</isu-dialog>\n\n<isu-dialog id=\"dialog\" stop-auto-dismiss top=\"12\" left=\"30\">Put your Content here inside an element which with</isu-dialog>\n\n<isu-dialog id=\"dialog1\" stop-auto-dismiss no-cancel-on-outside-click>Put your Content here inside an element which with</isu-dialog>\n\n<isu-dialog id=\"dialogLock\" stop-auto-dismiss no-cancel-on-outside-click lock-scroll>Put your Content here inside an element which with</isu-dialog>\n\n<isu-dialog id=\"dialog2\" stop-auto-dismiss title=\"Dialog demo\" modal>\n <div>\n   Put your Content here inside an element which with\n </div>\n</isu-dialog>\n```\n## Styling\n\nThe following custom properties and mixins are available for styling:\n\n|Custom property | Description | Default|\n|----------------|-------------|----------|\n|`--isu-dialog-content` | Mixin applied to the adding contents of dialog | {}\n|`--isu-dialog-title` | Mixin applied to the title of dialog | {}",
      "summary": "",
      "path": "isu-dialog.js",
      "properties": [
        {
          "name": "title",
          "type": "string | null | undefined",
          "description": "Title of the dialog",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 153,
              "column": 6
            },
            "end": {
              "line": 155,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "stopAutoDismiss",
          "type": "boolean",
          "description": "Set to True to stop auto dismiss.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 161,
              "column": 6
            },
            "end": {
              "line": 164,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "modal",
          "type": "boolean",
          "description": "Modal popup window",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 171,
              "column": 6
            },
            "end": {
              "line": 176,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"modalChanged\"",
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "noCancelOnOutsideClick",
          "type": "boolean",
          "description": "If true, clicking the place outside the modal can not make the modal hide.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 183,
              "column": 6
            },
            "end": {
              "line": 187,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "noCancelOnEscKey",
          "type": "boolean",
          "description": "If true, pressing the Esc key can not make the modal hide.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 196,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "opened",
          "type": "boolean",
          "description": "If true, the modal will be opened",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 202,
              "column": 6
            },
            "end": {
              "line": 206,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"openedChanged\"",
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "top",
          "type": "number",
          "description": "The distance from the top",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 212,
              "column": 6
            },
            "end": {
              "line": 214,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "left",
          "type": "number",
          "description": "The distance from the left",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 220,
              "column": 6
            },
            "end": {
              "line": 222,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "lockScroll",
          "type": "boolean",
          "description": "If true, lock the body scroll when dailog modal appears",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 228,
              "column": 6
            },
            "end": {
              "line": 231,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "closeRemoveEle",
          "type": "boolean | null | undefined",
          "description": "If true,remove this element when dialog close",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 235,
              "column": 6
            },
            "end": {
              "line": 238,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "showBackdrop",
          "type": "boolean | null | undefined",
          "description": "是否显示遮罩层，默认显示，为false时候显示，",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 242,
              "column": 6
            },
            "end": {
              "line": 245,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        }
      ],
      "methods": [
        {
          "name": "_positionChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 257,
              "column": 2
            },
            "end": {
              "line": 260,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "top"
            },
            {
              "name": "left"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 262,
              "column": 2
            },
            "end": {
              "line": 292,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "open",
          "description": "Open the dialog.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 297,
              "column": 2
            },
            "end": {
              "line": 301,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "close",
          "description": "Close the dialog.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 306,
              "column": 2
            },
            "end": {
              "line": 313,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "openedChanged",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 315,
              "column": 2
            },
            "end": {
              "line": 318,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "newVal"
            },
            {
              "name": "oldVal"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "modalChanged",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 320,
              "column": 2
            },
            "end": {
              "line": 325,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "modal"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-dialog/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 42,
          "column": 0
        },
        "end": {
          "line": 326,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuDialog",
      "attributes": [
        {
          "name": "title",
          "description": "Title of the dialog",
          "sourceRange": {
            "start": {
              "line": 153,
              "column": 6
            },
            "end": {
              "line": 155,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "stop-auto-dismiss",
          "description": "Set to True to stop auto dismiss.",
          "sourceRange": {
            "start": {
              "line": 161,
              "column": 6
            },
            "end": {
              "line": 164,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "modal",
          "description": "Modal popup window",
          "sourceRange": {
            "start": {
              "line": 171,
              "column": 6
            },
            "end": {
              "line": 176,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "no-cancel-on-outside-click",
          "description": "If true, clicking the place outside the modal can not make the modal hide.",
          "sourceRange": {
            "start": {
              "line": 183,
              "column": 6
            },
            "end": {
              "line": 187,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "no-cancel-on-esc-key",
          "description": "If true, pressing the Esc key can not make the modal hide.",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 196,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "opened",
          "description": "If true, the modal will be opened",
          "sourceRange": {
            "start": {
              "line": 202,
              "column": 6
            },
            "end": {
              "line": 206,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "top",
          "description": "The distance from the top",
          "sourceRange": {
            "start": {
              "line": 212,
              "column": 6
            },
            "end": {
              "line": 214,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "left",
          "description": "The distance from the left",
          "sourceRange": {
            "start": {
              "line": 220,
              "column": 6
            },
            "end": {
              "line": 222,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "lock-scroll",
          "description": "If true, lock the body scroll when dailog modal appears",
          "sourceRange": {
            "start": {
              "line": 228,
              "column": 6
            },
            "end": {
              "line": 231,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "close-remove-ele",
          "description": "If true,remove this element when dialog close",
          "sourceRange": {
            "start": {
              "line": 235,
              "column": 6
            },
            "end": {
              "line": 238,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "show-backdrop",
          "description": "是否显示遮罩层，默认显示，为false时候显示，",
          "sourceRange": {
            "start": {
              "line": 242,
              "column": 6
            },
            "end": {
              "line": 245,
              "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": "Example:\n```html\n<isu-input label=\"文本框\"></isu-input>\n<isu-input label=\"数字框\" type=\"number\"></isu-input>\n<isu-input label=\"电话\" type=\"tel\" maxlength=\"11\"></isu-input>\n<isu-input label=\"密码框\" type=\"password\"></isu-input>\n<isu-input label=\"颜色框\" type=\"color\"></isu-input>\n<isu-input label=\"日期框\" type=\"date\"></isu-input>\n<isu-input label=\"日期时间框\" type=\"datetime-local\"></isu-input>\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-label` | Mixin applied to the label of input | {}\n|`--isu-input` | Mixin applied to the input | {}\n|`--isu-input-unit` | Mixin applied to unit of the input value | {}\n|`--isu-input-width` | The width of the isu-input | 320px",
      "summary": "",
      "path": "isu-input.js",
      "properties": [
        {
          "name": "label",
          "type": "string",
          "description": "The label of the input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 275,
              "column": 6
            },
            "end": {
              "line": 277,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "string",
          "description": "The placeholder of the input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 283,
              "column": 6
            },
            "end": {
              "line": 285,
              "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": 292,
              "column": 6
            },
            "end": {
              "line": 295,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"text\""
        },
        {
          "name": "allowedPattern",
          "type": "string",
          "description": "A regexp to validate user input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 300,
              "column": 6
            },
            "end": {
              "line": 302,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "preventInvalidInput",
          "type": "boolean | null | undefined",
          "description": "判断是否用正则匹配校验输入",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 306,
              "column": 6
            },
            "end": {
              "line": 309,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "value",
          "type": "string",
          "description": "Value of the input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 314,
              "column": 6
            },
            "end": {
              "line": 317,
              "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": 323,
              "column": 6
            },
            "end": {
              "line": 327,
              "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": 333,
              "column": 6
            },
            "end": {
              "line": 337,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "prefixUnit",
          "type": "string",
          "description": "Prefix unit to show（i.e. ￥$元吨托）",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 342,
              "column": 6
            },
            "end": {
              "line": 344,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "suffixUnit",
          "type": "string",
          "description": "Suffix unit to show（i.e. ￥$元吨托）",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 349,
              "column": 6
            },
            "end": {
              "line": 351,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "minlength",
          "type": "number",
          "description": "The minimum length user can input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 356,
              "column": 6
            },
            "end": {
              "line": 358,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "maxlength",
          "type": "number",
          "description": "The maximum length user can input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 363,
              "column": 6
            },
            "end": {
              "line": 365,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "min",
          "type": "string",
          "description": "The minimum value user can input or choose.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 371,
              "column": 6
            },
            "end": {
              "line": 373,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "max",
          "type": "string",
          "description": "The maximum value user can input or choose",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 378,
              "column": 6
            },
            "end": {
              "line": 380,
              "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": 386,
              "column": 6
            },
            "end": {
              "line": 388,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "promptPosition",
          "type": "string | null | undefined",
          "description": "The prompt tip's position. top/bottom",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 394,
              "column": 6
            },
            "end": {
              "line": 397,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "togglePassword",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 398,
              "column": 6
            },
            "end": {
              "line": 401,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "isView",
          "type": "boolean",
          "description": "The text mode display requires readonly=true to take effect",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 407,
              "column": 6
            },
            "end": {
              "line": 410,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "hidden",
          "type": "boolean | null | undefined",
          "description": "If true hides the component， default false",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 414,
              "column": 6
            },
            "end": {
              "line": 418,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "permission",
          "type": "boolean | null | undefined",
          "description": "If you do not have permissions, the component does not display",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 424,
              "column": 6
            },
            "end": {
              "line": 428,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_permissionChange\"",
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "isPatternLimit",
          "type": "boolean | null | undefined",
          "description": "If true,the input is limit to one format, is useful with method 'patternLimit'",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 435,
              "column": 6
            },
            "end": {
              "line": 438,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "__allowedPatternChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 454,
              "column": 2
            },
            "end": {
              "line": 459,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "doFocus",
          "description": "Set focus to input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 464,
              "column": 2
            },
            "end": {
              "line": 466,
              "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": 477,
              "column": 2
            },
            "end": {
              "line": 490,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        },
        {
          "name": "patternLimit",
          "description": "Limit the pattern of the input number\nnormal example:\n小数点后3位小数:e.detail.target.value = e.detail.target.value.replace(/^\\D*([0-9]*)(\\.?)([0-9]{0,3}).*$/, '$1$2$3')\n正整数(包括0）：e.detail.target.value = e.detail.target.value.replace(/\\D/g,'')\n正整数（不包括0）：if(e.detail.target.value.length==1)e.detail.target.value=e.detail.target.value.replace(/[^1-9]/,'')}else{e.detail.target.value=e.detail.target.value.replace(/\\D/g,'')}\n整数：e.detail.target.type = 'text'\n     e.detail.target.value = e.detail.target.value.replace(/[^-\\d]/g, '')",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 501,
              "column": 2
            },
            "end": {
              "line": 505,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_onChange",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 507,
              "column": 2
            },
            "end": {
              "line": 509,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "clear",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 511,
              "column": 2
            },
            "end": {
              "line": 514,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "showPassword",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 516,
              "column": 2
            },
            "end": {
              "line": 519,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__isViewChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 521,
              "column": 2
            },
            "end": {
              "line": 523,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isView"
            },
            {
              "name": "readonly"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_isView",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 525,
              "column": 2
            },
            "end": {
              "line": 527,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isView"
            },
            {
              "name": "readonly"
            }
          ]
        },
        {
          "name": "_permissionChange",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 529,
              "column": 2
            },
            "end": {
              "line": 531,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "permission"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "ready",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 533,
              "column": 2
            },
            "end": {
              "line": 551,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-input/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 39,
          "column": 0
        },
        "end": {
          "line": 552,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuInput",
      "attributes": [
        {
          "name": "label",
          "description": "The label of the input.",
          "sourceRange": {
            "start": {
              "line": 275,
              "column": 6
            },
            "end": {
              "line": 277,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "placeholder",
          "description": "The placeholder of the input.",
          "sourceRange": {
            "start": {
              "line": 283,
              "column": 6
            },
            "end": {
              "line": 285,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "type",
          "description": "Bound to input' `type` attribute. [Input types](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input)",
          "sourceRange": {
            "start": {
              "line": 292,
              "column": 6
            },
            "end": {
              "line": 295,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "allowed-pattern",
          "description": "A regexp to validate user input.",
          "sourceRange": {
            "start": {
              "line": 300,
              "column": 6
            },
            "end": {
              "line": 302,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "prevent-invalid-input",
          "description": "判断是否用正则匹配校验输入",
          "sourceRange": {
            "start": {
              "line": 306,
              "column": 6
            },
            "end": {
              "line": 309,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "value",
          "description": "Value of the input.",
          "sourceRange": {
            "start": {
              "line": 314,
              "column": 6
            },
            "end": {
              "line": 317,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "required",
          "description": "Set to true, if the input is required.",
          "sourceRange": {
            "start": {
              "line": 323,
              "column": 6
            },
            "end": {
              "line": 327,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the input is readonly.",
          "sourceRange": {
            "start": {
              "line": 333,
              "column": 6
            },
            "end": {
              "line": 337,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "prefix-unit",
          "description": "Prefix unit to show（i.e. ￥$元吨托）",
          "sourceRange": {
            "start": {
              "line": 342,
              "column": 6
            },
            "end": {
              "line": 344,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "suffix-unit",
          "description": "Suffix unit to show（i.e. ￥$元吨托）",
          "sourceRange": {
            "start": {
              "line": 349,
              "column": 6
            },
            "end": {
              "line": 351,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "minlength",
          "description": "The minimum length user can input.",
          "sourceRange": {
            "start": {
              "line": 356,
              "column": 6
            },
            "end": {
              "line": 358,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "maxlength",
          "description": "The maximum length user can input.",
          "sourceRange": {
            "start": {
              "line": 363,
              "column": 6
            },
            "end": {
              "line": 365,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "min",
          "description": "The minimum value user can input or choose.",
          "sourceRange": {
            "start": {
              "line": 371,
              "column": 6
            },
            "end": {
              "line": 373,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "max",
          "description": "The maximum value user can input or choose",
          "sourceRange": {
            "start": {
              "line": 378,
              "column": 6
            },
            "end": {
              "line": 380,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "prompt",
          "description": "The prompt tip to show when input is invalid.",
          "sourceRange": {
            "start": {
              "line": 386,
              "column": 6
            },
            "end": {
              "line": 388,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        },
        {
          "name": "prompt-position",
          "description": "The prompt tip's position. top/bottom",
          "sourceRange": {
            "start": {
              "line": 394,
              "column": 6
            },
            "end": {
              "line": 397,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "toggle-password",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 398,
              "column": 6
            },
            "end": {
              "line": 401,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "is-view",
          "description": "The text mode display requires readonly=true to take effect",
          "sourceRange": {
            "start": {
              "line": 407,
              "column": 6
            },
            "end": {
              "line": 410,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "hidden",
          "description": "If true hides the component， default false",
          "sourceRange": {
            "start": {
              "line": 414,
              "column": 6
            },
            "end": {
              "line": 418,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "permission",
          "description": "If you do not have permissions, the component does not display",
          "sourceRange": {
            "start": {
              "line": 424,
              "column": 6
            },
            "end": {
              "line": 428,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "is-pattern-limit",
          "description": "If true,the input is limit to one format, is useful with method 'patternLimit'",
          "sourceRange": {
            "start": {
              "line": 435,
              "column": 6
            },
            "end": {
              "line": 438,
              "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": 177,
              "column": 6
            },
            "end": {
              "line": 180,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "columnInfos",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 181,
              "column": 6
            },
            "end": {
              "line": 183,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 136,
              "column": 2
            },
            "end": {
              "line": 140,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "delete",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 142,
              "column": 2
            },
            "end": {
              "line": 144,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  model: {\n    rowIndex\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "add",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 146,
              "column": 2
            },
            "end": {
              "line": 148,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  model: {\n    rowIndex\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__appendTmplContent",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 150,
              "column": 2
            },
            "end": {
              "line": 157,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "targetSelector"
            },
            {
              "name": "model"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "columnTag"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "computeContent",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 159,
              "column": 2
            },
            "end": {
              "line": 173,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "column"
            },
            {
              "name": "columnIndex"
            }
          ]
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-edit-table/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 190,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuEditTable",
      "attributes": [
        {
          "name": "data",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 177,
              "column": 6
            },
            "end": {
              "line": 180,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "column-infos",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 181,
              "column": 6
            },
            "end": {
              "line": 183,
              "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": 46,
          "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": "`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": 82,
              "column": 6
            },
            "end": {
              "line": 84,
              "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": 90,
              "column": 6
            },
            "end": {
              "line": 93,
              "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": 98,
              "column": 6
            },
            "end": {
              "line": 100,
              "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": 107,
              "column": 6
            },
            "end": {
              "line": 110,
              "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": 116,
              "column": 6
            },
            "end": {
              "line": 119,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 127,
              "column": 2
            },
            "end": {
              "line": 134,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "submit",
          "description": "Summit the form to server.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 2
            },
            "end": {
              "line": 161,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_get",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 163,
              "column": 2
            },
            "end": {
              "line": 174,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "reqData"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_post",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 176,
              "column": 2
            },
            "end": {
              "line": 204,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "reqData"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_successHandler",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 206,
              "column": 2
            },
            "end": {
              "line": 215,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "response"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_errorHandler",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 217,
              "column": 2
            },
            "end": {
              "line": 222,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-form/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 36,
          "column": 0
        },
        "end": {
          "line": 223,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuForm",
      "attributes": [
        {
          "name": "title",
          "description": "Head title of the form",
          "sourceRange": {
            "start": {
              "line": 82,
              "column": 6
            },
            "end": {
              "line": 84,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "method",
          "description": "Request method,GRT or POST,default POST",
          "sourceRange": {
            "start": {
              "line": 90,
              "column": 6
            },
            "end": {
              "line": 93,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "action",
          "description": "The URI of a program that processes the form information",
          "sourceRange": {
            "start": {
              "line": 98,
              "column": 6
            },
            "end": {
              "line": 100,
              "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": 107,
              "column": 6
            },
            "end": {
              "line": 110,
              "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": 116,
              "column": 6
            },
            "end": {
              "line": 119,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-form"
    },
    {
      "description": "`isu-grid-layout`\n\nExample:\n```html\n基本用法\n<isu-grid-layout columns=\"6\" column-gap=\"10\" row-gap=\"20\" class=\"layout\">\n <div class=\"lay\">Lorem ipsum dolor sit amet consectetur, adipisicing elit.  architecto. Eius, maiores ad?</div>\n <div class=\"lay\" layout-colspan=\"3\" layout-rowspan=\"3\">Quibusdam, eos esse dolorum facere voluptatem eius, dolore quas totam aspernatur obcaecati harum? Nihil eligendi eos minus odit minima earum incidunt rem fugit reprehenderit, molestiae possimus eveniet itaque laudantium excepturi.</div>\n <div class=\"lay\">Ducimus quibusdam inventore delectus doloribus dignissimos. Dignissimos quos officia minus exercitationem perspiciatis harum iusto molestiae deleniti quod sunt amet recusandae autem, neque doloremque ad alias eaque consequuntur nesciunt quis eius!</div>\n <div class=\"lay\">Cumque aspernatur ex ipsum dolorum eius, tempore omnis minus sequi architecto totam sunt maxime nemo, ab repellendus. Aut voluptatem saepe voluptatibus nisi ipsum. Debitis corporis culpa ipsa error nemo doloribus.</div>\n <div class=\"lay\">Consequatur dolore, architecto quos saepe consequuntur libero minus totam? Enim optio provident commodi corporis officiis, sunt maiores? Cupiditate consequuntur, cumque natus corporis velit sunt ad magni aliquid facere deleniti molestiae.</div>\n <div class=\"lay\">Voluptatibus similique modi voluptatum voluptatem quo quod minima ducimus facere, sequi libero accusamus nisi nobis? Minima error tempore quo esse quod odit, deleniti labore nulla ullam velit nemo neque sint!</div>\n <div class=\"lay\" layout-colspan=\"1\" layout-rowspan=\"3\">Qui, corporis delectus? Pariatur vel autem commodi, accusantium, voluptate obcaecati iste, a debitis facilis repellendus mollitia. Dolore dicta totam, quaerat omnis accusantium magni alias voluptates eligendi ex id aut dolorem?</div>\n <div class=\"lay\">Recusandae tempora ab error omnis exercitationem illo accusamus esse sit ipsa accusantium iure, possimus ducimus quis consequuntur qui corporis nobis culpa repudiandae! Suscipit, debitis. Omnis delectus at vitae laborum quos?</div>\n <div class=\"lay\">Dolorem saepe accusamus sed placeat porro ex, ab, vel eaque libero incidunt facilis delectus, iure odio dicta error consequuntur perspiciatis quasi? Corrupti incidunt quia asperiores quo magnam at minima laudantium?</div>\n <div class=\"lay\">Dolor ad saepe, nemo fugit tempora autem est fugiat quis porro atque nam repellendus maxime neque voluptatem rerum amet odit aspernatur voluptates iusto eos laboriosam enim vel. Eius, debitis beatae!</div>\n</isu-grid-layout>\n新增折叠功能\n<isu-grid-layout columns=\"6\" column-gap=\"10\" row-gap=\"20\" class=\"layout\" accordion title=\"自定义标题\">\n <isu-button slot=\"header\" size=\"small\">编辑</isu-button>\n <div class=\"lay\">Lorem ipsum dolor sit amet consectetur, adipisicing elit.  architecto. Eius, maiores ad?</div>\n <div class=\"lay\" layout-colspan=\"3\" layout-rowspan=\"3\">Quibusdam, eos esse dolorum facere voluptatem eius, dolore quas totam aspernatur obcaecati harum? Nihil eligendi eos minus odit minima earum incidunt rem fugit reprehenderit, molestiae possimus eveniet itaque laudantium excepturi.</div>\n <div class=\"lay\">Ducimus quibusdam inventore delectus doloribus dignissimos. Dignissimos quos officia minus exercitationem perspiciatis harum iusto molestiae deleniti quod sunt amet recusandae autem, neque doloremque ad alias eaque consequuntur nesciunt quis eius!</div>\n <div class=\"lay\">Cumque aspernatur ex ipsum dolorum eius, tempore omnis minus sequi architecto totam sunt maxime nemo, ab repellendus. Aut voluptatem saepe voluptatibus nisi ipsum. Debitis corporis culpa ipsa error nemo doloribus.</div>\n <div class=\"lay\">Consequatur dolore, architecto quos saepe consequuntur libero minus totam? Enim optio provident commodi corporis officiis, sunt maiores? Cupiditate consequuntur, cumque natus corporis velit sunt ad magni aliquid facere deleniti molestiae.</div>\n <div class=\"lay\">Voluptatibus similique modi voluptatum voluptatem quo quod minima ducimus facere, sequi libero accusamus nisi nobis? Minima error tempore quo esse quod odit, deleniti labore nulla ullam velit nemo neque sint!</div>\n <div class=\"lay\" layout-colspan=\"1\" layout-rowspan=\"3\">Qui, corporis delectus? Pariatur vel autem commodi, accusantium, voluptate obcaecati iste, a debitis facilis repellendus mollitia. Dolore dicta totam, quaerat omnis accusantium magni alias voluptates eligendi ex id aut dolorem?</div>\n <div class=\"lay\">Recusandae tempora ab error omnis exercitationem illo accusamus esse sit ipsa accusantium iure, possimus ducimus quis consequuntur qui corporis nobis culpa repudiandae! Suscipit, debitis. Omnis delectus at vitae laborum quos?</div>\n <div class=\"lay\">Dolorem saepe accusamus sed placeat porro ex, ab, vel eaque libero incidunt facilis delectus, iure odio dicta error consequuntur perspiciatis quasi? Corrupti incidunt quia asperiores quo magnam at minima laudantium?</div>\n <div class=\"lay\">Dolor ad saepe, nemo fugit tempora autem est fugiat quis porro atque nam repellendus maxime neque voluptatem rerum amet odit aspernatur voluptates iusto eos laboriosam enim vel. Eius, debitis beatae!</div>\n</isu-grid-layout>\n 部分定宽\n<isu-grid-layout row-gap=\"20\" class=\"layout\" template-columns=\"200px 300px auto 100px\">\n <div class=\"lay\">Lorem ipsum dolor sit amet consectetur, adipisicing elit.  architecto. Eius, maiores ad?</div>\n <div class=\"lay\">Quibusdam, eos esse dolorum facere voluptatem eius, dolore quas totam aspernatur obcaecati harum? Nihil eligendi eos minus odit minima earum incidunt rem fugit reprehenderit, molestiae possimus eveniet itaque laudantium excepturi.</div>\n <div class=\"lay\">Ducimus quibusdam inventore</div>\n <div class=\"lay\">Cumque aspernatur ex ipsum dolorum eius</div>\n <div class=\"lay\">Recusandae tempora ab error omnis exercitationem</div>\n <div class=\"lay\">Dolorem saepe accusamus sed placeat porro ex, ab, vel eaque libero incidunt facilis delectus, iure odio dicta error consequuntur perspiciatis quasi? Corrupti incidunt quia asperiores quo magnam at minima laudantium?</div>\n <div class=\"lay\">Dolor ad saepe, nemo fugit tempora autem est fugiat quis porro atque nam repellendus maxime neque voluptatem rerum amet odit aspernatur voluptates iusto eos laboriosam enim vel. Eius, debitis beatae!</div>\n</isu-grid-layout>\n横行合并\n<isu-grid-layout column-gap=\"10\" class=\"layout\" template-columns=\"auto 20% 20%\">\n <div class=\"lay\">Lorem ipsum dolor sit amet consectetur, adipisicing elit.  architecto. Eius, maiores ad?</div>\n <div class=\"lay\">Ducimus quibusdam inventore</div>\n <div class=\"lay\">Cumque aspernatur ex ipsum dolorum eius</div>\n <div class=\"lay\" full-colspan>Quibusdam, eos esse dolorum facere voluptatem eius, dolore quas totam aspernatur obcaecati harum? Nihil eligendi eos minus odit minima earum incidunt rem fugit reprehenderit, molestiae possimus eveniet itaque laudantium excepturi.</div>\n <div class=\"lay\">Recusandae tempora ab error omnis exercitationem</div>\n <div class=\"lay\">Dolorem saepe accusamus sed placeat porro ex, ab, vel eaque libero incidunt facilis delectus, iure odio dicta error consequuntur perspiciatis quasi? Corrupti incidunt quia asperiores quo magnam at minima laudantium?</div>\n <div class=\"lay\">Dolor ad saepe, nemo fugit tempora autem est fugiat quis porro atque nam repellendus maxime neque voluptatem rerum amet odit aspernatur voluptates iusto eos laboriosam enim vel. Eius, debitis beatae!</div>\n</isu-grid-layout>\n```\n## Styling\n\nThe following custom properties and mixins are available for styling:\n\n|Custom property | Description | Default|\n|----------------|-------------|----------|\n|`--isu-grid-layout` | Mixin applied to the grid layout | {}",
      "summary": "",
      "path": "isu-grid-layout.js",
      "properties": [
        {
          "name": "columns",
          "type": "number",
          "description": "Number of columns",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 145,
              "column": 6
            },
            "end": {
              "line": 148,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "4"
        },
        {
          "name": "columnGap",
          "type": "number",
          "description": "The column spacing",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 154,
              "column": 6
            },
            "end": {
              "line": 157,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "20"
        },
        {
          "name": "rowGap",
          "type": "number",
          "description": "The row spacing",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 163,
              "column": 6
            },
            "end": {
              "line": 166,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "20"
        },
        {
          "name": "templateColumns",
          "type": "string",
          "description": "Customize the width of each section",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 172,
              "column": 6
            },
            "end": {
              "line": 174,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "accordion",
          "type": "boolean",
          "description": "Is accordion or not",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 182,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "opened",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 183,
              "column": 6
            },
            "end": {
              "line": 187,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "title",
          "type": "string",
          "description": "The title of the grid layout",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 196,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"标题\""
        }
      ],
      "methods": [
        {
          "name": "__columnsChange",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 210,
              "column": 2
            },
            "end": {
              "line": 214,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "columns"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__columnGapChange",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 216,
              "column": 2
            },
            "end": {
              "line": 218,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "columnGap"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__rowGapChange",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 220,
              "column": 2
            },
            "end": {
              "line": 222,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "rowGap"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__templateColumnsChange",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 224,
              "column": 2
            },
            "end": {
              "line": 228,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "templateColumns"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__handler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 230,
              "column": 2
            },
            "end": {
              "line": 232,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 234,
              "column": 2
            },
            "end": {
              "line": 252,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-grid-layout/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 73,
          "column": 0
        },
        "end": {
          "line": 257,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuGridLayout",
      "attributes": [
        {
          "name": "columns",
          "description": "Number of columns",
          "sourceRange": {
            "start": {
              "line": 145,
              "column": 6
            },
            "end": {
              "line": 148,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "column-gap",
          "description": "The column spacing",
          "sourceRange": {
            "start": {
              "line": 154,
              "column": 6
            },
            "end": {
              "line": 157,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "row-gap",
          "description": "The row spacing",
          "sourceRange": {
            "start": {
              "line": 163,
              "column": 6
            },
            "end": {
              "line": 166,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "template-columns",
          "description": "Customize the width of each section",
          "sourceRange": {
            "start": {
              "line": 172,
              "column": 6
            },
            "end": {
              "line": 174,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "accordion",
          "description": "Is accordion or not",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 182,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "opened",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 183,
              "column": 6
            },
            "end": {
              "line": 187,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "title",
          "description": "The title of the grid layout",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 196,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        }
      ],
      "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",
          "description": "Message of the tip.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 168,
              "column": 6
            },
            "end": {
              "line": 170,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "type",
          "type": "string",
          "description": "Tip type [success | warn | error | confirm | prompt]",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 176,
              "column": 6
            },
            "end": {
              "line": 179,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"success\""
        },
        {
          "name": "remark",
          "type": "string",
          "description": "User input when `type` is `prompt`.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 184,
              "column": 6
            },
            "end": {
              "line": 186,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "_confirmCallback",
          "type": "function",
          "description": "The callback function by clicking the confirm、prompt message box`s sure button",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 191,
              "column": 6
            },
            "end": {
              "line": 193,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Function"
            }
          }
        },
        {
          "name": "_cancelCallback",
          "type": "function",
          "description": "The callback function by clicking the confirm、prompt message box`s cancel button",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 198,
              "column": 6
            },
            "end": {
              "line": 200,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Function"
            }
          }
        },
        {
          "name": "duration",
          "type": "number",
          "description": "When `type` is `success`, `warn` or `error`, the tip will disappear after [duration] ms.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 207,
              "column": 6
            },
            "end": {
              "line": 210,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "1500"
        },
        {
          "name": "noDuration",
          "type": "boolean",
          "description": "If true, no duration is required. The tip will displayed until you close it.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 216,
              "column": 6
            },
            "end": {
              "line": 219,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "autoDetach",
          "type": "boolean",
          "description": "Set to true, if you want that `isu-tip` can auto detach from its parentElement.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 225,
              "column": 6
            },
            "end": {
              "line": 228,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "title",
          "type": "string",
          "description": "The title of the tip",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 233,
              "column": 6
            },
            "end": {
              "line": 235,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "width",
          "type": "string",
          "description": "The width of the tip box",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 240,
              "column": 6
            },
            "end": {
              "line": 242,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "height",
          "type": "string",
          "description": "The height of the tip box",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 247,
              "column": 6
            },
            "end": {
              "line": 249,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "config",
          "type": "string",
          "description": "Custom configuration.eg: {\"title\":\"Notice!!!\", \"cancelBtnLabel\": \"NO\", \"confirmBtnLabel\": \"YES\", \"cancelBtnType\": \"warning\", \"confirmBtnType\": \"default\"}",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 255,
              "column": 6
            },
            "end": {
              "line": 260,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          },
          "defaultValue": "{}"
        },
        {
          "name": "iconClass",
          "type": "string",
          "description": "The icon`s class in the tip box. eg: `icons:build`",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 266,
              "column": 6
            },
            "end": {
              "line": 268,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "center",
          "type": "boolean",
          "description": "Whether the tip content is centered or not",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 275,
              "column": 6
            },
            "end": {
              "line": 279,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "__sizeChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 292,
              "column": 2
            },
            "end": {
              "line": 296,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "size"
            },
            {
              "name": "sizeAttr"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__messageChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 298,
              "column": 2
            },
            "end": {
              "line": 300,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "message"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_cancel",
          "description": "Cancel handler",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 305,
              "column": 2
            },
            "end": {
              "line": 308,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_confirm",
          "description": "Confirm handler",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 313,
              "column": 2
            },
            "end": {
              "line": 318,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "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": 330,
              "column": 2
            },
            "end": {
              "line": 356,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "args",
              "rest": true
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "close",
          "description": "Hide the tip.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 361,
              "column": 2
            },
            "end": {
              "line": 366,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-tip/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 28,
          "column": 0
        },
        "end": {
          "line": 367,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuTip",
      "attributes": [
        {
          "name": "message",
          "description": "Message of the tip.",
          "sourceRange": {
            "start": {
              "line": 168,
              "column": 6
            },
            "end": {
              "line": 170,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "type",
          "description": "Tip type [success | warn | error | confirm | prompt]",
          "sourceRange": {
            "start": {
              "line": 176,
              "column": 6
            },
            "end": {
              "line": 179,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "remark",
          "description": "User input when `type` is `prompt`.",
          "sourceRange": {
            "start": {
              "line": 184,
              "column": 6
            },
            "end": {
              "line": 186,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "duration",
          "description": "When `type` is `success`, `warn` or `error`, the tip will disappear after [duration] ms.",
          "sourceRange": {
            "start": {
              "line": 207,
              "column": 6
            },
            "end": {
              "line": 210,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "no-duration",
          "description": "If true, no duration is required. The tip will displayed until you close it.",
          "sourceRange": {
            "start": {
              "line": 216,
              "column": 6
            },
            "end": {
              "line": 219,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "auto-detach",
          "description": "Set to true, if you want that `isu-tip` can auto detach from its parentElement.",
          "sourceRange": {
            "start": {
              "line": 225,
              "column": 6
            },
            "end": {
              "line": 228,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "title",
          "description": "The title of the tip",
          "sourceRange": {
            "start": {
              "line": 233,
              "column": 6
            },
            "end": {
              "line": 235,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "width",
          "description": "The width of the tip box",
          "sourceRange": {
            "start": {
              "line": 240,
              "column": 6
            },
            "end": {
              "line": 242,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "height",
          "description": "The height of the tip box",
          "sourceRange": {
            "start": {
              "line": 247,
              "column": 6
            },
            "end": {
              "line": 249,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "config",
          "description": "Custom configuration.eg: {\"title\":\"Notice!!!\", \"cancelBtnLabel\": \"NO\", \"confirmBtnLabel\": \"YES\", \"cancelBtnType\": \"warning\", \"confirmBtnType\": \"default\"}",
          "sourceRange": {
            "start": {
              "line": 255,
              "column": 6
            },
            "end": {
              "line": 260,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "icon-class",
          "description": "The icon`s class in the tip box. eg: `icons:build`",
          "sourceRange": {
            "start": {
              "line": 266,
              "column": 6
            },
            "end": {
              "line": 268,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "center",
          "description": "Whether the tip content is centered or not",
          "sourceRange": {
            "start": {
              "line": 275,
              "column": 6
            },
            "end": {
              "line": 279,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        }
      ],
      "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<isu-image-upload label=\"上河图\" type=\"view\" src=\"https://d1.awsstatic.com/product-marketing/Elastic%20Beanstalk/ElasticBeanstalk_Benefit_Productivity.5cd0e6aedfa2e3b2c05ed7f5faeb0fd215c9742b.png\"></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-label` | Mixin applied to the label of image uploader | {}\n|`--isu-image-upload-width` | The width of image uploader | 140px\n|`--isu-image-upload-height` | The height of image uploader | 180px\n|`--isu-image-upload-buttons` | Mixin applied to tool buttons of the uploader if type is edit | {}\n|`--isu-image-view-button` | Mixin applied to tool buttons of the uploader if type is view | {}",
      "summary": "",
      "path": "isu-image-upload.js",
      "properties": [
        {
          "name": "src",
          "type": "string | null | undefined",
          "description": "The remote uri of image.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 227,
              "column": 6
            },
            "end": {
              "line": 229,
              "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": 233,
              "column": 6
            },
            "end": {
              "line": 236,
              "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": 241,
              "column": 6
            },
            "end": {
              "line": 243,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true, if the select is required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 250,
              "column": 6
            },
            "end": {
              "line": 254,
              "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": 260,
              "column": 6
            },
            "end": {
              "line": 264,
              "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": 272,
              "column": 6
            },
            "end": {
              "line": 274,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "__byteSize",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 276,
              "column": 6
            },
            "end": {
              "line": 279,
              "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": 285,
              "column": 6
            },
            "end": {
              "line": 288,
              "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": 292,
              "column": 6
            },
            "end": {
              "line": 295,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"edit\""
        },
        {
          "name": "uploadImgUrl",
          "type": "string | null | undefined",
          "description": "Url for uploading the image，if it exit, image will be uploaded directly.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 299,
              "column": 6
            },
            "end": {
              "line": 302,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "uploadFileName",
          "type": "string | null | undefined",
          "description": "Custom your uploadFile`s name",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 306,
              "column": 6
            },
            "end": {
              "line": 309,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"imageFile\""
        },
        {
          "name": "uploadCallback",
          "type": "Function | null | undefined",
          "description": "The callback function after upload the image",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 313,
              "column": 6
            },
            "end": {
              "line": 315,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Function"
            }
          }
        },
        {
          "name": "handleAs",
          "type": "string | null | undefined",
          "description": "Parse the format of the return data when the uploadImgUrl is not empty, eg: text|json|blob|formData|arrayBuffer",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 319,
              "column": 6
            },
            "end": {
              "line": 322,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"json\""
        },
        {
          "name": "transform",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 323,
              "column": 6
            },
            "end": {
              "line": 335,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "imgStyle",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 336,
              "column": 6
            },
            "end": {
              "line": 338,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "modeIcon",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 339,
              "column": 6
            },
            "end": {
              "line": 342,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"icons:fullscreen\""
        },
        {
          "name": "_isOpened",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 343,
              "column": 6
            },
            "end": {
              "line": 345,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 359,
              "column": 2
            },
            "end": {
              "line": 380,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__isOpenedChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 382,
              "column": 2
            },
            "end": {
              "line": 386,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "_isOpened"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__isEdit",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 388,
              "column": 2
            },
            "end": {
              "line": 390,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "type"
            }
          ]
        },
        {
          "name": "__srcChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 392,
              "column": 2
            },
            "end": {
              "line": 404,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "src"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__parseSizeLimit",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 406,
              "column": 2
            },
            "end": {
              "line": 426,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "sizeLimit"
            }
          ]
        },
        {
          "name": "_triggerChooseFile",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 428,
              "column": 2
            },
            "end": {
              "line": 431,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_chooseFile",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 433,
              "column": 2
            },
            "end": {
              "line": 436,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__readDataTransfer",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 438,
              "column": 2
            },
            "end": {
              "line": 441,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "dataTransfer"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__loadFileData",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 443,
              "column": 2
            },
            "end": {
              "line": 461,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "blob"
            }
          ]
        },
        {
          "name": "cancelSelection",
          "description": "Cancel selection of the image.It will clear the `src` and `value`.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 466,
              "column": 2
            },
            "end": {
              "line": 470,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "openViewZoom",
          "description": "Open the view zoom",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 475,
              "column": 2
            },
            "end": {
              "line": 480,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "closeViewZoom",
          "description": "Close the view zoom.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 485,
              "column": 2
            },
            "end": {
              "line": 488,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_transformChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 490,
              "column": 2
            },
            "end": {
              "line": 500,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "handleActions",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 502,
              "column": 2
            },
            "end": {
              "line": 506,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_handleActions",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 508,
              "column": 2
            },
            "end": {
              "line": 532,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "action"
            },
            {
              "name": "options"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "toggleMode",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 534,
              "column": 2
            },
            "end": {
              "line": 540,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "imgHandle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 542,
              "column": 2
            },
            "end": {
              "line": 544,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "reset",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 546,
              "column": 2
            },
            "end": {
              "line": 554,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "deviceSupportInstall",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 556,
              "column": 2
            },
            "end": {
              "line": 593,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "deviceSupportUninstall",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 595,
              "column": 2
            },
            "end": {
              "line": 601,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "handleMouseDown",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 603,
              "column": 2
            },
            "end": {
              "line": 618,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "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": 624,
              "column": 2
            },
            "end": {
              "line": 626,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-image-upload/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 39,
          "column": 0
        },
        "end": {
          "line": 627,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuImageUpload",
      "attributes": [
        {
          "name": "src",
          "description": "The remote uri of image.",
          "sourceRange": {
            "start": {
              "line": 227,
              "column": 6
            },
            "end": {
              "line": 229,
              "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": 233,
              "column": 6
            },
            "end": {
              "line": 236,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "label",
          "description": "The label of the uploader.",
          "sourceRange": {
            "start": {
              "line": 241,
              "column": 6
            },
            "end": {
              "line": 243,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "required",
          "description": "Set to true, if the select is required.",
          "sourceRange": {
            "start": {
              "line": 250,
              "column": 6
            },
            "end": {
              "line": 254,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the select is readonly.",
          "sourceRange": {
            "start": {
              "line": 260,
              "column": 6
            },
            "end": {
              "line": 264,
              "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": 272,
              "column": 6
            },
            "end": {
              "line": 274,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "accept",
          "description": "Bound to input's `accept` attribute.",
          "sourceRange": {
            "start": {
              "line": 285,
              "column": 6
            },
            "end": {
              "line": 288,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "type",
          "description": "模式：edit/view",
          "sourceRange": {
            "start": {
              "line": 292,
              "column": 6
            },
            "end": {
              "line": 295,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "upload-img-url",
          "description": "Url for uploading the image，if it exit, image will be uploaded directly.",
          "sourceRange": {
            "start": {
              "line": 299,
              "column": 6
            },
            "end": {
              "line": 302,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "upload-file-name",
          "description": "Custom your uploadFile`s name",
          "sourceRange": {
            "start": {
              "line": 306,
              "column": 6
            },
            "end": {
              "line": 309,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "upload-callback",
          "description": "The callback function after upload the image",
          "sourceRange": {
            "start": {
              "line": 313,
              "column": 6
            },
            "end": {
              "line": 315,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Function | null | undefined"
        },
        {
          "name": "handle-as",
          "description": "Parse the format of the return data when the uploadImgUrl is not empty, eg: text|json|blob|formData|arrayBuffer",
          "sourceRange": {
            "start": {
              "line": 319,
              "column": 6
            },
            "end": {
              "line": 322,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "transform",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 323,
              "column": 6
            },
            "end": {
              "line": 335,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "img-style",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 336,
              "column": 6
            },
            "end": {
              "line": 338,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "mode-icon",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 339,
              "column": 6
            },
            "end": {
              "line": 342,
              "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 | {}\n|`--isu-view-text` | Mixin applied to the view mode of the select when readonly=true and isView=true | {}",
      "summary": "",
      "path": "isu-select.js",
      "properties": [
        {
          "name": "_pinyinUtil",
          "type": "Object | null | undefined",
          "description": "Chinese pinyin plugin",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 315,
              "column": 6
            },
            "end": {
              "line": 321,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "_cacheSearchUtil",
          "type": "Object | null | undefined",
          "description": "Cache search plugin",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 325,
              "column": 6
            },
            "end": {
              "line": 331,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "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": 337,
              "column": 6
            },
            "end": {
              "line": 340,
              "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": 346,
              "column": 6
            },
            "end": {
              "line": 349,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "items",
          "type": "array",
          "description": "The candidate selection of this select.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 358,
              "column": 6
            },
            "end": {
              "line": 362,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "prompt",
          "type": "array",
          "description": "The prompt tip to show when input is invalid.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 369,
              "column": 6
            },
            "end": {
              "line": 371,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "promptPosition",
          "type": "string | null | undefined",
          "description": "The prompt tip's position. top/bottom",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 377,
              "column": 6
            },
            "end": {
              "line": 380,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "selectedItem",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 382,
              "column": 6
            },
            "end": {
              "line": 385,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "label",
          "type": "String",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 392,
              "column": 6
            },
            "end": {
              "line": 394,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "String",
          "description": "The placeholder of the select.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 399,
              "column": 6
            },
            "end": {
              "line": 401,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "multi",
          "type": "boolean",
          "description": "If true, multiple selections are allowed.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 407,
              "column": 6
            },
            "end": {
              "line": 410,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "opened",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 412,
              "column": 6
            },
            "end": {
              "line": 416,
              "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": 422,
              "column": 6
            },
            "end": {
              "line": 425,
              "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": 431,
              "column": 6
            },
            "end": {
              "line": 435,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "attrForValue",
          "type": "string",
          "description": "Attribute name for value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 441,
              "column": 6
            },
            "end": {
              "line": 444,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"value\""
        },
        {
          "name": "attrForLabel",
          "type": "string",
          "description": "Attribute name for label.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 452,
              "column": 6
            },
            "end": {
              "line": 455,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "isFocus",
          "type": "boolean",
          "description": "Whether the focus of the last virtual input box is needed",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 462,
              "column": 6
            },
            "end": {
              "line": 464,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "multiLimit",
          "type": "number",
          "description": "The number of the choices you can make in the case of multiple choices.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 470,
              "column": 6
            },
            "end": {
              "line": 472,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "keyword",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 473,
              "column": 6
            },
            "end": {
              "line": 476,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "fieldsForIndex",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 477,
              "column": 6
            },
            "end": {
              "line": 479,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "_displayItems",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 480,
              "column": 6
            },
            "end": {
              "line": 483,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "isView",
          "type": "boolean",
          "description": "The text mode display requires readonly=true to take effect",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 489,
              "column": 6
            },
            "end": {
              "line": 492,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "joinConnector",
          "type": "string",
          "description": "The connector to connect labels when the isView=true, eg: \"苹果，香蕉，梨\"",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 498,
              "column": 6
            },
            "end": {
              "line": 501,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\",\""
        },
        {
          "name": "hidden",
          "type": "boolean | null | undefined",
          "description": "If true hides the component， default false",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 505,
              "column": 6
            },
            "end": {
              "line": 509,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "permission",
          "type": "boolean | null | undefined",
          "description": "If you do not have permissions, the component does not display",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 515,
              "column": 6
            },
            "end": {
              "line": 519,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_permissionChange\"",
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "showAll",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 520,
              "column": 6
            },
            "end": {
              "line": 524,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "textValue",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 525,
              "column": 6
            },
            "end": {
              "line": 529,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "readOnly": true,
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 549,
              "column": 2
            },
            "end": {
              "line": 564,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__focusOnKeywordInput",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 566,
              "column": 2
            },
            "end": {
              "line": 569,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_onInputClick",
          "description": "点击事件",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 574,
              "column": 2
            },
            "end": {
              "line": 583,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "refreshElemPos",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 585,
              "column": 2
            },
            "end": {
              "line": 588,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_itemsChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 590,
              "column": 2
            },
            "end": {
              "line": 601,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "items"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_valueChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 603,
              "column": 2
            },
            "end": {
              "line": 621,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_loadPinyinKeys",
          "description": "给对象根据fieldsForIndex给对应的字段做拼音缓存（字段值，字段值全拼和拼音首字母）",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 626,
              "column": 2
            },
            "end": {
              "line": 646,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            },
            {
              "name": "fieldsForIndex",
              "defaultValue": "[]"
            }
          ]
        },
        {
          "name": "_keywordChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 648,
              "column": 2
            },
            "end": {
              "line": 652,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "keyword"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_selectedValuesChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 654,
              "column": 2
            },
            "end": {
              "line": 666,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "selectedItemChanged",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 668,
              "column": 2
            },
            "end": {
              "line": 670,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_deleteTag",
          "description": "删除Tag项，事件处理函数",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 675,
              "column": 2
            },
            "end": {
              "line": 682,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_updatePressed",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 688,
              "column": 2
            },
            "end": {
              "line": 710,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "event"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__focusOnLast",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 712,
              "column": 2
            },
            "end": {
              "line": 714,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_displayPlaceholder",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 716,
              "column": 2
            },
            "end": {
              "line": 718,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "display"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "openCollapse",
          "description": "Open collapse.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 723,
              "column": 2
            },
            "end": {
              "line": 728,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "closeCollapse",
          "description": "Close collapse.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 733,
              "column": 2
            },
            "end": {
              "line": 739,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "toggleCollapse",
          "description": "Toggle collapse.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 744,
              "column": 2
            },
            "end": {
              "line": 753,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "doFocus",
          "description": "Set focus to select.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 758,
              "column": 2
            },
            "end": {
              "line": 760,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getViewLabels",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 762,
              "column": 2
            },
            "end": {
              "line": 765,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "items"
            },
            {
              "name": "attrForLabel"
            },
            {
              "name": "connector"
            }
          ]
        },
        {
          "name": "__isViewChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 767,
              "column": 2
            },
            "end": {
              "line": 769,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isView"
            },
            {
              "name": "readonly"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_isView",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 771,
              "column": 2
            },
            "end": {
              "line": 773,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isView"
            },
            {
              "name": "readonly"
            }
          ]
        },
        {
          "name": "_permissionChange",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 775,
              "column": 2
            },
            "end": {
              "line": 777,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "permission"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__textValueComputed",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 779,
              "column": 2
            },
            "end": {
              "line": 784,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "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": 790,
              "column": 2
            },
            "end": {
              "line": 792,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-select/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 51,
          "column": 0
        },
        "end": {
          "line": 793,
          "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": 337,
              "column": 6
            },
            "end": {
              "line": 340,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        },
        {
          "name": "selected-values",
          "description": "The selected value objects of this select.",
          "sourceRange": {
            "start": {
              "line": 346,
              "column": 6
            },
            "end": {
              "line": 349,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "items",
          "description": "The candidate selection of this select.",
          "sourceRange": {
            "start": {
              "line": 358,
              "column": 6
            },
            "end": {
              "line": 362,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "prompt",
          "description": "The prompt tip to show when input is invalid.",
          "sourceRange": {
            "start": {
              "line": 369,
              "column": 6
            },
            "end": {
              "line": 371,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "prompt-position",
          "description": "The prompt tip's position. top/bottom",
          "sourceRange": {
            "start": {
              "line": 377,
              "column": 6
            },
            "end": {
              "line": 380,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "selected-item",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 382,
              "column": 6
            },
            "end": {
              "line": 385,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "label",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 392,
              "column": 6
            },
            "end": {
              "line": 394,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        },
        {
          "name": "placeholder",
          "description": "The placeholder of the select.",
          "sourceRange": {
            "start": {
              "line": 399,
              "column": 6
            },
            "end": {
              "line": 401,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        },
        {
          "name": "multi",
          "description": "If true, multiple selections are allowed.",
          "sourceRange": {
            "start": {
              "line": 407,
              "column": 6
            },
            "end": {
              "line": 410,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "opened",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 412,
              "column": 6
            },
            "end": {
              "line": 416,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "required",
          "description": "Set to true, if the selection is required.",
          "sourceRange": {
            "start": {
              "line": 422,
              "column": 6
            },
            "end": {
              "line": 425,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the select is readonly.",
          "sourceRange": {
            "start": {
              "line": 431,
              "column": 6
            },
            "end": {
              "line": 435,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "attr-for-value",
          "description": "Attribute name for value.",
          "sourceRange": {
            "start": {
              "line": 441,
              "column": 6
            },
            "end": {
              "line": 444,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "attr-for-label",
          "description": "Attribute name for label.",
          "sourceRange": {
            "start": {
              "line": 452,
              "column": 6
            },
            "end": {
              "line": 455,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "is-focus",
          "description": "Whether the focus of the last virtual input box is needed",
          "sourceRange": {
            "start": {
              "line": 462,
              "column": 6
            },
            "end": {
              "line": 464,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "multi-limit",
          "description": "The number of the choices you can make in the case of multiple choices.",
          "sourceRange": {
            "start": {
              "line": 470,
              "column": 6
            },
            "end": {
              "line": 472,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "keyword",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 473,
              "column": 6
            },
            "end": {
              "line": 476,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "fields-for-index",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 477,
              "column": 6
            },
            "end": {
              "line": 479,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "is-view",
          "description": "The text mode display requires readonly=true to take effect",
          "sourceRange": {
            "start": {
              "line": 489,
              "column": 6
            },
            "end": {
              "line": 492,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "join-connector",
          "description": "The connector to connect labels when the isView=true, eg: \"苹果，香蕉，梨\"",
          "sourceRange": {
            "start": {
              "line": 498,
              "column": 6
            },
            "end": {
              "line": 501,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "hidden",
          "description": "If true hides the component， default false",
          "sourceRange": {
            "start": {
              "line": 505,
              "column": 6
            },
            "end": {
              "line": 509,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "permission",
          "description": "If you do not have permissions, the component does not display",
          "sourceRange": {
            "start": {
              "line": 515,
              "column": 6
            },
            "end": {
              "line": 519,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "show-all",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 520,
              "column": 6
            },
            "end": {
              "line": 524,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "text-value",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 525,
              "column": 6
            },
            "end": {
              "line": 529,
              "column": 7
            }
          },
          "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": "items-changed",
          "description": "Fired when the `items` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "selected-item-changed",
          "description": "Fired when the `selectedItem` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "keyword-changed",
          "description": "Fired when the `keyword` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "text-value-changed",
          "description": "Fired when the `textValue` 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 | {}\n|`--isu-input-date-width` | The width of the isu-input-date | 380px\n|`--isu-view-text` | Mixin applied to the text when the readonly and is-view is true | {}",
      "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": 430,
              "column": 6
            },
            "end": {
              "line": 433,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "timestamp",
          "type": "number",
          "description": "The timestamp of the date selected.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 438,
              "column": 6
            },
            "end": {
              "line": 441,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "time",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 442,
              "column": 6
            },
            "end": {
              "line": 445,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"00:00:00\""
        },
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "The label of the input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 449,
              "column": 6
            },
            "end": {
              "line": 451,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "string | null | undefined",
          "description": "The placeholder of the input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 455,
              "column": 6
            },
            "end": {
              "line": 457,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true, if the input is required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 463,
              "column": 6
            },
            "end": {
              "line": 467,
              "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": 473,
              "column": 6
            },
            "end": {
              "line": 477,
              "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": 482,
              "column": 6
            },
            "end": {
              "line": 484,
              "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": 489,
              "column": 6
            },
            "end": {
              "line": 491,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "dayList",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 492,
              "column": 6
            },
            "end": {
              "line": 492,
              "column": 20
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "yearList",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 493,
              "column": 6
            },
            "end": {
              "line": 493,
              "column": 21
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "year",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 494,
              "column": 6
            },
            "end": {
              "line": 494,
              "column": 18
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "month",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 495,
              "column": 6
            },
            "end": {
              "line": 495,
              "column": 19
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "date",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 496,
              "column": 6
            },
            "end": {
              "line": 496,
              "column": 18
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "showDashboard",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 497,
              "column": 6
            },
            "end": {
              "line": 500,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "type",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 501,
              "column": 6
            },
            "end": {
              "line": 505,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"date\""
        },
        {
          "name": "rangeList",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 506,
              "column": 6
            },
            "end": {
              "line": 509,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[\"dateRange\",\"datetimeRange\"]"
        },
        {
          "name": "startDate",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 510,
              "column": 6
            },
            "end": {
              "line": 513,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "startTimestamp",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 514,
              "column": 6
            },
            "end": {
              "line": 517,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "endDate",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 518,
              "column": 6
            },
            "end": {
              "line": 521,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "endTimestamp",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 522,
              "column": 6
            },
            "end": {
              "line": 525,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "startDateTimeList",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 526,
              "column": 6
            },
            "end": {
              "line": 526,
              "column": 30
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "endDateTimeList",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 527,
              "column": 6
            },
            "end": {
              "line": 527,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "stepTime",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 528,
              "column": 6
            },
            "end": {
              "line": 531,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "30"
        },
        {
          "name": "startTime",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 532,
              "column": 6
            },
            "end": {
              "line": 535,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"00:00:00\""
        },
        {
          "name": "endTime",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 536,
              "column": 6
            },
            "end": {
              "line": 539,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"23:30:00\""
        },
        {
          "name": "prompt",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 540,
              "column": 6
            },
            "end": {
              "line": 542,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "promptPosition",
          "type": "string | null | undefined",
          "description": "The prompt tip's position. top/bottom",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 548,
              "column": 6
            },
            "end": {
              "line": 551,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "isView",
          "type": "boolean",
          "description": "The text mode display requires readonly=true to take effect",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 557,
              "column": 6
            },
            "end": {
              "line": 560,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 583,
              "column": 2
            },
            "end": {
              "line": 596,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_valueChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 602,
              "column": 2
            },
            "end": {
              "line": 613,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_minChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 615,
              "column": 2
            },
            "end": {
              "line": 617,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_maxChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 619,
              "column": 2
            },
            "end": {
              "line": 621,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_timestampChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 627,
              "column": 2
            },
            "end": {
              "line": 636,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "time"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_getTimestampToDate",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 638,
              "column": 2
            },
            "end": {
              "line": 643,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "timestamp"
            }
          ]
        },
        {
          "name": "_getTimestampTo",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 645,
              "column": 2
            },
            "end": {
              "line": 648,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "timestamp"
            }
          ]
        },
        {
          "name": "_startDateChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 650,
              "column": 2
            },
            "end": {
              "line": 656,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "startDate"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_endDateChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 658,
              "column": 2
            },
            "end": {
              "line": 665,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "endDate"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_startTimestampChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 667,
              "column": 2
            },
            "end": {
              "line": 677,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "startTimestamp"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_endTimestampChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 679,
              "column": 2
            },
            "end": {
              "line": 690,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "endTimestamp"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getTime",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 692,
              "column": 2
            },
            "end": {
              "line": 694,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "date"
            }
          ]
        },
        {
          "name": "getTimeList",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 696,
              "column": 2
            },
            "end": {
              "line": 709,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "date"
            },
            {
              "name": "type"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "clear",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 711,
              "column": 2
            },
            "end": {
              "line": 720,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "selectDate",
          "description": "单个日期class控制",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 725,
              "column": 2
            },
            "end": {
              "line": 731,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            }
          ]
        },
        {
          "name": "optionalClass",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 733,
              "column": 2
            },
            "end": {
              "line": 738,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            }
          ]
        },
        {
          "name": "_preReplenish",
          "description": "前置填充",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 746,
              "column": 2
            },
            "end": {
              "line": 748,
              "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": 753,
              "column": 2
            },
            "end": {
              "line": 755,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "openDialog",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 757,
              "column": 2
            },
            "end": {
              "line": 765,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "yearOpen",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 767,
              "column": 2
            },
            "end": {
              "line": 775,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "monthOpen",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 777,
              "column": 2
            },
            "end": {
              "line": 786,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getDayList",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 788,
              "column": 2
            },
            "end": {
              "line": 827,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "yearMinus",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 829,
              "column": 2
            },
            "end": {
              "line": 834,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "yearAdd",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 836,
              "column": 2
            },
            "end": {
              "line": 841,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "optionalClassYM",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 843,
              "column": 2
            },
            "end": {
              "line": 855,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            },
            {
              "name": "year"
            },
            {
              "name": "month"
            }
          ]
        },
        {
          "name": "monthMinus",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 857,
              "column": 2
            },
            "end": {
              "line": 866,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "monthAdd",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 868,
              "column": 2
            },
            "end": {
              "line": 877,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "selectDay",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 879,
              "column": 2
            },
            "end": {
              "line": 899,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "clearDate",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 901,
              "column": 2
            },
            "end": {
              "line": 909,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "selectYearOrMonth",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 911,
              "column": 2
            },
            "end": {
              "line": 921,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  model: {\n    item\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "selectToday",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 923,
              "column": 2
            },
            "end": {
              "line": 936,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "setTimestamp",
          "description": "赋值",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 939,
              "column": 2
            },
            "end": {
              "line": 965,
              "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": 976,
              "column": 2
            },
            "end": {
              "line": 988,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        },
        {
          "name": "__isViewChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 990,
              "column": 2
            },
            "end": {
              "line": 992,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isView"
            },
            {
              "name": "readonly"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_isView",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 994,
              "column": 2
            },
            "end": {
              "line": 996,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isView"
            },
            {
              "name": "readonly"
            }
          ]
        },
        {
          "name": "_clickDateBody",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 998,
              "column": 2
            },
            "end": {
              "line": 1001,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-input-date/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 37,
          "column": 0
        },
        "end": {
          "line": 1002,
          "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": 430,
              "column": 6
            },
            "end": {
              "line": 433,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "timestamp",
          "description": "The timestamp of the date selected.",
          "sourceRange": {
            "start": {
              "line": 438,
              "column": 6
            },
            "end": {
              "line": 441,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "time",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 442,
              "column": 6
            },
            "end": {
              "line": 445,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "label",
          "description": "The label of the input.",
          "sourceRange": {
            "start": {
              "line": 449,
              "column": 6
            },
            "end": {
              "line": 451,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "placeholder",
          "description": "The placeholder of the input.",
          "sourceRange": {
            "start": {
              "line": 455,
              "column": 6
            },
            "end": {
              "line": 457,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "required",
          "description": "Set to true, if the input is required.",
          "sourceRange": {
            "start": {
              "line": 463,
              "column": 6
            },
            "end": {
              "line": 467,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the input is readonly.",
          "sourceRange": {
            "start": {
              "line": 473,
              "column": 6
            },
            "end": {
              "line": 477,
              "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": 482,
              "column": 6
            },
            "end": {
              "line": 484,
              "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": 489,
              "column": 6
            },
            "end": {
              "line": 491,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "day-list",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 492,
              "column": 6
            },
            "end": {
              "line": 492,
              "column": 20
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "year-list",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 493,
              "column": 6
            },
            "end": {
              "line": 493,
              "column": 21
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "year",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 494,
              "column": 6
            },
            "end": {
              "line": 494,
              "column": 18
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "month",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 495,
              "column": 6
            },
            "end": {
              "line": 495,
              "column": 19
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "date",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 496,
              "column": 6
            },
            "end": {
              "line": 496,
              "column": 18
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "show-dashboard",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 497,
              "column": 6
            },
            "end": {
              "line": 500,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "type",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 501,
              "column": 6
            },
            "end": {
              "line": 505,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "range-list",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 506,
              "column": 6
            },
            "end": {
              "line": 509,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "start-date",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 510,
              "column": 6
            },
            "end": {
              "line": 513,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "start-timestamp",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 514,
              "column": 6
            },
            "end": {
              "line": 517,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "end-date",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 518,
              "column": 6
            },
            "end": {
              "line": 521,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "end-timestamp",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 522,
              "column": 6
            },
            "end": {
              "line": 525,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "start-date-time-list",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 526,
              "column": 6
            },
            "end": {
              "line": 526,
              "column": 30
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "end-date-time-list",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 527,
              "column": 6
            },
            "end": {
              "line": 527,
              "column": 28
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "step-time",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 528,
              "column": 6
            },
            "end": {
              "line": 531,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "start-time",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 532,
              "column": 6
            },
            "end": {
              "line": 535,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "end-time",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 536,
              "column": 6
            },
            "end": {
              "line": 539,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "prompt",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 540,
              "column": 6
            },
            "end": {
              "line": 542,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "prompt-position",
          "description": "The prompt tip's position. top/bottom",
          "sourceRange": {
            "start": {
              "line": 548,
              "column": 6
            },
            "end": {
              "line": 551,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "is-view",
          "description": "The text mode display requires readonly=true to take effect",
          "sourceRange": {
            "start": {
              "line": 557,
              "column": 6
            },
            "end": {
              "line": 560,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        }
      ],
      "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": "`isu-input-datetime`\n\nExample:\n```html\n<isu-input-datetime class=\"datetime\" label=\"无默认日期\"></isu-input-datetime>\n<isu-input-datetime class=\"datetime\" label=\"默认value\" value=\"2017-10-26T10:20\"></isu-input-datetime>\n<isu-input-datetime class=\"datetime\" label=\"默认time\" timestamp=\"1509008130349\"></isu-input-datetime>\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-datetime-label` | Mixin applied to the label of input | {}\n|`--isu-input-datetime-width` | The width of the isu-input-datetime | 320px",
      "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": 99,
              "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": 105,
              "column": 6
            },
            "end": {
              "line": 108,
              "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": 113,
              "column": 6
            },
            "end": {
              "line": 115,
              "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": 120,
              "column": 6
            },
            "end": {
              "line": 122,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "fontSize",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 123,
              "column": 6
            },
            "end": {
              "line": 125,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_valueChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 144,
              "column": 2
            },
            "end": {
              "line": 151,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_timestampChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 157,
              "column": 2
            },
            "end": {
              "line": 164,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "timestamp"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "doFocus",
          "description": "Set focus to input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 169,
              "column": 2
            },
            "end": {
              "line": 171,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "validate",
          "description": "Validates the input element.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 177,
              "column": 2
            },
            "end": {
              "line": 179,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-input-datetime/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 31,
          "column": 0
        },
        "end": {
          "line": 180,
          "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": 99,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the input is readonly.",
          "sourceRange": {
            "start": {
              "line": 105,
              "column": 6
            },
            "end": {
              "line": 108,
              "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": 113,
              "column": 6
            },
            "end": {
              "line": 115,
              "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": 120,
              "column": 6
            },
            "end": {
              "line": 122,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "font-size",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 123,
              "column": 6
            },
            "end": {
              "line": 125,
              "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": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-input-datetime"
    },
    {
      "description": "`isu-input-jedate`\n\nExample:\n```html\nif you want to use this component, you need to import jedate.css in the host html document manually. It`s relative path is ./utils/jedate/skin/jedate.css\n\n<isu-input-jedate class=\"input-date multi\" label=\"年选择\" format=\"YYYY\" placeholder=\"YYYY\" required></isu-input-jedate>\n<isu-input-jedate class=\"input-date multi\" label=\"年月选择\" format=\"YYYY-MM\" placeholder=\"YYYY-MM\"></isu-input-jedate>\n<isu-input-jedate class=\"input-date multi\" label=\"年月日选择\" format=\"MM-DD-YYYY\" placeholder=\"MM-DD-YYYY\"></isu-input-jedate>\n<isu-input-jedate class=\"input-date multi\" label=\"年月日时分秒选择\" festival min=\"1900-01-01\" max=\"2099-12-31\"\nformat=\"YYYY-MM-DD hh:mm:ss\" placeholder=\"YYYY-MM-DD hh:mm:ss\"></isu-input-jedate>\n<isu-input-jedate class=\"input-date multi\" label=\"时分秒选择\" format=\"hh:mm:ss\" min=\"01:02:08\" max=\"15:25:35\" placeholder=\"hh:mm:ss\"></isu-input-jedate>\n\n<isu-input-jedate class=\"input-date multi\" label=\"年月日选择\" format=\"YYYY-MM-DD\" placeholder=\"YYYY-MM-DD\" language=\"en\"></isu-input-jedate>\n<isu-input-jedate class=\"input-date multi\" id=\"testBlue\" label=\"蓝色主题\" format=\"YYYY-MM-DD hh:mm:ss\"\n placeholder=\"YYYY-MM-DD hh:mm:ss\"></isu-input-jedate>\n<script>\n testBlue.theme = {bgcolor:'#00A1CB',pnColor:'#00CCFF'}\n</script>\n<isu-input-jedate label=\"年范围选择\" format=\"YYYY\" placeholder=\"YYYY\" range=\" ~ \"></isu-input-jedate>\n<isu-input-jedate label=\"年月范围选择\" format=\"YYYY-MM\" placeholder=\"YYYY-MM\" range=\" To \"></isu-input-jedate>\n<isu-input-jedate label=\"日范围选择\" format=\"YYYY-MM-DD\" placeholder=\"YYYY-MM-DD\" range=\" 至 \"></isu-input-jedate>\n<isu-input-jedate label=\"年范围选择\" format=\"YYYY\" placeholder=\"YYYY\" range=\" ~ \" multi-pane=\"false\"></isu-input-jedate>\n<isu-input-jedate label=\"年月范围选择\" format=\"YYYY-MM\" placeholder=\"YYYY-MM\" range=\" To \" ></isu-input-jedate>\n<isu-input-jedate label=\"日范围选择\" format=\"YYYY-MM-DD\" placeholder=\"YYYY-MM-DD\" range=\" 至 \" ></isu-input-jedate>\n<isu-input-jedate label=\"日时分秒范围选择\" format=\"YYYY-MM-DD hh:mm:ss\" placeholder=\"YYYY-MM-DD hh:mm:ss\" range=\" ~ \"></isu-input-jedate>\n<isu-input-jedate label=\"时分秒范围选择\" format=\"hh:mm:ss\" placeholder=\"hh:mm:ss\" range=\" To \"></isu-input-jedate>\n<isu-input-jedate label=\"时分范围选择\" format=\"hh:mm\" placeholder=\"hh:mm\" range=\" 至 \"></isu-input-jedate>\n<isu-input-jedate label=\"自定义格式\" format=\"YYYY年MM月DD日\" placeholder=\"YYYY年MM月DD日\"></isu-input-jedate>\n<isu-input-jedate label=\"自定义格式\" format=\"MM-DD-YYYY\" placeholder=\"MM-DD-YYYY\"></isu-input-jedate>\n<isu-input-jedate label=\"自定义格式\" format=\"DD/MM/YYYY\" placeholder=\"DD/MM/YYYY\"></isu-input-jedate>\n<isu-input-jedate id=\"multiPane7\" label=\"自定义格式（双面板）\" format=\"DD/MM/YYYY\" placeholder=\"DD/MM/YYYY\" range=\" 至 \" multi-pane=\"false\"></isu-input-jedate>\n<isu-input-jedate label=\"默认初始赋值\" format=\"YYYY-MM-DD\" placeholder=\"YYYY年MM月DD日\" isinit-val></isu-input-jedate>\n<isu-input-jedate label=\"只读\" format=\"YYYY年MM月DD日\" placeholder=\"YYYY年MM月DD日\" bind-data=\"1517760000000\" readonly></isu-input-jedate>\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": 142,
              "column": 6
            },
            "end": {
              "line": 145,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "timestamp",
          "type": "Number",
          "description": "The value of the input, return a timestamp",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 150,
              "column": 6
            },
            "end": {
              "line": 153,
              "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": 157,
              "column": 6
            },
            "end": {
              "line": 159,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "string | null | undefined",
          "description": "The placeholder of the input.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 163,
              "column": 6
            },
            "end": {
              "line": 166,
              "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": 172,
              "column": 6
            },
            "end": {
              "line": 176,
              "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": 182,
              "column": 6
            },
            "end": {
              "line": 186,
              "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": 191,
              "column": 6
            },
            "end": {
              "line": 193,
              "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": 198,
              "column": 6
            },
            "end": {
              "line": 200,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "format",
          "type": "string",
          "description": "The format of the date",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 206,
              "column": 6
            },
            "end": {
              "line": 209,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"YYYY-MM-DD\""
        },
        {
          "name": "multiPane",
          "type": "boolean",
          "description": "Double panel or not, show double panel if multiPane is false",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 215,
              "column": 6
            },
            "end": {
              "line": 218,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "isShow",
          "type": "boolean",
          "description": "Whether it is displayed as a fixed calender or not, if false, displayed as a fixed calender",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 224,
              "column": 6
            },
            "end": {
              "line": 227,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "onClose",
          "type": "boolean",
          "description": "Close the shell layer after selecting date, if false, close the shell layer after selecting date",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 233,
              "column": 6
            },
            "end": {
              "line": 236,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "range",
          "type": "string",
          "description": "If it is not empty and not false, a range selection will be made. eg: \" 至 \"，\" ~ \"，\" To \"",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 242,
              "column": 6
            },
            "end": {
              "line": 245,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "trigger",
          "type": "string",
          "description": "Whether it is an internal event or not. It is an internal event by default.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 251,
              "column": 6
            },
            "end": {
              "line": 254,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"click\""
        },
        {
          "name": "position",
          "type": "array",
          "description": "Custom date bouncer`s offset position,the length is 0, bouncer will automactically find the position.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 260,
              "column": 6
            },
            "end": {
              "line": 263,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "isinitVal",
          "type": "boolean",
          "description": "Whether initialize the time or not. Does not initialize the time by default.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 269,
              "column": 6
            },
            "end": {
              "line": 272,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "initDate",
          "type": "boolean",
          "description": "Initialize the date, add or minus the day, time, minute",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 278,
              "column": 6
            },
            "end": {
              "line": 281,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          },
          "defaultValue": "{}"
        },
        {
          "name": "isTime",
          "type": "boolean",
          "description": "Whether to turn on the time selection or not",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 287,
              "column": 6
            },
            "end": {
              "line": 290,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "isClear",
          "type": "boolean",
          "description": "Whether to display the clear button",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 296,
              "column": 6
            },
            "end": {
              "line": 299,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "isToday",
          "type": "boolean",
          "description": "Whether to display the today or this mounth button",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 305,
              "column": 6
            },
            "end": {
              "line": 308,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "isYes",
          "type": "boolean",
          "description": "Whether to display the ok button",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 314,
              "column": 6
            },
            "end": {
              "line": 317,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "festival",
          "type": "boolean",
          "description": "Whether to display the lunar festival",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 323,
              "column": 6
            },
            "end": {
              "line": 326,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "valiDate",
          "type": "array",
          "description": "Valid date and non-valid date. eg: [\"0[4-7]$,1[1-5]$,2[58]$\",true]",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 332,
              "column": 6
            },
            "end": {
              "line": 335,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "fixed",
          "type": "boolean",
          "description": "Whether the position is fixed or not. The position is located in the input box when it is true, and the position is centered when it is false",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 341,
              "column": 6
            },
            "end": {
              "line": 344,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "theme",
          "type": "object",
          "description": "Custom theme colors",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 350,
              "column": 6
            },
            "end": {
              "line": 353,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          },
          "defaultValue": "{}"
        },
        {
          "name": "language",
          "type": "string",
          "description": "language，'en'/'cn'",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 359,
              "column": 6
            },
            "end": {
              "line": 362,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"cn\""
        },
        {
          "name": "method",
          "type": "object",
          "description": "Custom methods",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 368,
              "column": 6
            },
            "end": {
              "line": 371,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          },
          "defaultValue": "{}"
        },
        {
          "name": "before",
          "type": "function",
          "description": "Methods executed before the interface loads",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 377,
              "column": 6
            },
            "end": {
              "line": 380,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Function"
            }
          },
          "defaultValue": "null"
        },
        {
          "name": "succeed",
          "type": "function",
          "description": "Methods executed after the interface loads",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 386,
              "column": 6
            },
            "end": {
              "line": 389,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Function"
            }
          },
          "defaultValue": "null"
        },
        {
          "name": "zIndex",
          "type": "number",
          "description": "The level height of the pop-up layer",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 395,
              "column": 6
            },
            "end": {
              "line": 398,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "2099"
        },
        {
          "name": "shortcut",
          "type": "array",
          "description": "The shortcut to date selection",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 404,
              "column": 6
            },
            "end": {
              "line": 407,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "selectedItems",
          "type": "array",
          "description": "The set of selected values, if there is a range there are two values in the set, if there is no range, there is only one value. Each value in the set is timestamp.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 413,
              "column": 6
            },
            "end": {
              "line": 416,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "id",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 417,
              "column": 6
            },
            "end": {
              "line": 420,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "dateArray",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 421,
              "column": 6
            },
            "end": {
              "line": 424,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "prompt",
          "type": "string | null | undefined",
          "description": "The prompt tip to show when input is invalid.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 429,
              "column": 6
            },
            "end": {
              "line": 431,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "promptPosition",
          "type": "string | null | undefined",
          "description": "The prompt tip's position. top/bottom",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 437,
              "column": 6
            },
            "end": {
              "line": 440,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "isView",
          "type": "boolean",
          "description": "The text mode display requires readonly=true to take effect",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 446,
              "column": 6
            },
            "end": {
              "line": 449,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "_jedate",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 450,
              "column": 6
            },
            "end": {
              "line": 452,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_valueChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 470,
              "column": 2
            },
            "end": {
              "line": 496,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "donefun",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 498,
              "column": 2
            },
            "end": {
              "line": 501,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "clearfun",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 503,
              "column": 2
            },
            "end": {
              "line": 506,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "before",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 508,
              "column": 2
            },
            "end": {
              "line": 509,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "succeed",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 511,
              "column": 2
            },
            "end": {
              "line": 512,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_timestampChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 514,
              "column": 2
            },
            "end": {
              "line": 525,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "timestamp"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_idChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 527,
              "column": 2
            },
            "end": {
              "line": 580,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "id"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "validate",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 582,
              "column": 2
            },
            "end": {
              "line": 585,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "__isViewChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 587,
              "column": 2
            },
            "end": {
              "line": 589,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isView"
            },
            {
              "name": "readonly"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_isView",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 591,
              "column": 2
            },
            "end": {
              "line": 593,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isView"
            },
            {
              "name": "readonly"
            }
          ]
        },
        {
          "name": "ready",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 595,
              "column": 2
            },
            "end": {
              "line": 607,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-input-jedate/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 55,
          "column": 0
        },
        "end": {
          "line": 608,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuInputJedate",
      "attributes": [
        {
          "name": "value",
          "description": "The value of the input, return a date string format to `yyyy-MM-dd`.",
          "sourceRange": {
            "start": {
              "line": 142,
              "column": 6
            },
            "end": {
              "line": 145,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "timestamp",
          "description": "The value of the input, return a timestamp",
          "sourceRange": {
            "start": {
              "line": 150,
              "column": 6
            },
            "end": {
              "line": 153,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Number"
        },
        {
          "name": "label",
          "description": "The label of the input.",
          "sourceRange": {
            "start": {
              "line": 157,
              "column": 6
            },
            "end": {
              "line": 159,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "placeholder",
          "description": "The placeholder of the input.",
          "sourceRange": {
            "start": {
              "line": 163,
              "column": 6
            },
            "end": {
              "line": 166,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "required",
          "description": "Set to true, if the input is required.",
          "sourceRange": {
            "start": {
              "line": 172,
              "column": 6
            },
            "end": {
              "line": 176,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the input is readonly.",
          "sourceRange": {
            "start": {
              "line": 182,
              "column": 6
            },
            "end": {
              "line": 186,
              "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": 191,
              "column": 6
            },
            "end": {
              "line": 193,
              "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": 198,
              "column": 6
            },
            "end": {
              "line": 200,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "format",
          "description": "The format of the date",
          "sourceRange": {
            "start": {
              "line": 206,
              "column": 6
            },
            "end": {
              "line": 209,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "multi-pane",
          "description": "Double panel or not, show double panel if multiPane is false",
          "sourceRange": {
            "start": {
              "line": 215,
              "column": 6
            },
            "end": {
              "line": 218,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "is-show",
          "description": "Whether it is displayed as a fixed calender or not, if false, displayed as a fixed calender",
          "sourceRange": {
            "start": {
              "line": 224,
              "column": 6
            },
            "end": {
              "line": 227,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "on-close",
          "description": "Close the shell layer after selecting date, if false, close the shell layer after selecting date",
          "sourceRange": {
            "start": {
              "line": 233,
              "column": 6
            },
            "end": {
              "line": 236,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "range",
          "description": "If it is not empty and not false, a range selection will be made. eg: \" 至 \"，\" ~ \"，\" To \"",
          "sourceRange": {
            "start": {
              "line": 242,
              "column": 6
            },
            "end": {
              "line": 245,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "trigger",
          "description": "Whether it is an internal event or not. It is an internal event by default.",
          "sourceRange": {
            "start": {
              "line": 251,
              "column": 6
            },
            "end": {
              "line": 254,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "position",
          "description": "Custom date bouncer`s offset position,the length is 0, bouncer will automactically find the position.",
          "sourceRange": {
            "start": {
              "line": 260,
              "column": 6
            },
            "end": {
              "line": 263,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "isinit-val",
          "description": "Whether initialize the time or not. Does not initialize the time by default.",
          "sourceRange": {
            "start": {
              "line": 269,
              "column": 6
            },
            "end": {
              "line": 272,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "init-date",
          "description": "Initialize the date, add or minus the day, time, minute",
          "sourceRange": {
            "start": {
              "line": 278,
              "column": 6
            },
            "end": {
              "line": 281,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "is-time",
          "description": "Whether to turn on the time selection or not",
          "sourceRange": {
            "start": {
              "line": 287,
              "column": 6
            },
            "end": {
              "line": 290,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "is-clear",
          "description": "Whether to display the clear button",
          "sourceRange": {
            "start": {
              "line": 296,
              "column": 6
            },
            "end": {
              "line": 299,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "is-today",
          "description": "Whether to display the today or this mounth button",
          "sourceRange": {
            "start": {
              "line": 305,
              "column": 6
            },
            "end": {
              "line": 308,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "is-yes",
          "description": "Whether to display the ok button",
          "sourceRange": {
            "start": {
              "line": 314,
              "column": 6
            },
            "end": {
              "line": 317,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "festival",
          "description": "Whether to display the lunar festival",
          "sourceRange": {
            "start": {
              "line": 323,
              "column": 6
            },
            "end": {
              "line": 326,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "vali-date",
          "description": "Valid date and non-valid date. eg: [\"0[4-7]$,1[1-5]$,2[58]$\",true]",
          "sourceRange": {
            "start": {
              "line": 332,
              "column": 6
            },
            "end": {
              "line": 335,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "fixed",
          "description": "Whether the position is fixed or not. The position is located in the input box when it is true, and the position is centered when it is false",
          "sourceRange": {
            "start": {
              "line": 341,
              "column": 6
            },
            "end": {
              "line": 344,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "theme",
          "description": "Custom theme colors",
          "sourceRange": {
            "start": {
              "line": 350,
              "column": 6
            },
            "end": {
              "line": 353,
              "column": 7
            }
          },
          "metadata": {},
          "type": "object"
        },
        {
          "name": "language",
          "description": "language，'en'/'cn'",
          "sourceRange": {
            "start": {
              "line": 359,
              "column": 6
            },
            "end": {
              "line": 362,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "method",
          "description": "Custom methods",
          "sourceRange": {
            "start": {
              "line": 368,
              "column": 6
            },
            "end": {
              "line": 371,
              "column": 7
            }
          },
          "metadata": {},
          "type": "object"
        },
        {
          "name": "before",
          "description": "Methods executed before the interface loads",
          "sourceRange": {
            "start": {
              "line": 377,
              "column": 6
            },
            "end": {
              "line": 380,
              "column": 7
            }
          },
          "metadata": {},
          "type": "function"
        },
        {
          "name": "succeed",
          "description": "Methods executed after the interface loads",
          "sourceRange": {
            "start": {
              "line": 386,
              "column": 6
            },
            "end": {
              "line": 389,
              "column": 7
            }
          },
          "metadata": {},
          "type": "function"
        },
        {
          "name": "z-index",
          "description": "The level height of the pop-up layer",
          "sourceRange": {
            "start": {
              "line": 395,
              "column": 6
            },
            "end": {
              "line": 398,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "shortcut",
          "description": "The shortcut to date selection",
          "sourceRange": {
            "start": {
              "line": 404,
              "column": 6
            },
            "end": {
              "line": 407,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "selected-items",
          "description": "The set of selected values, if there is a range there are two values in the set, if there is no range, there is only one value. Each value in the set is timestamp.",
          "sourceRange": {
            "start": {
              "line": 413,
              "column": 6
            },
            "end": {
              "line": 416,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "id",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 417,
              "column": 6
            },
            "end": {
              "line": 420,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "date-array",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 421,
              "column": 6
            },
            "end": {
              "line": 424,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "prompt",
          "description": "The prompt tip to show when input is invalid.",
          "sourceRange": {
            "start": {
              "line": 429,
              "column": 6
            },
            "end": {
              "line": 431,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "prompt-position",
          "description": "The prompt tip's position. top/bottom",
          "sourceRange": {
            "start": {
              "line": 437,
              "column": 6
            },
            "end": {
              "line": 440,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "is-view",
          "description": "The text mode display requires readonly=true to take effect",
          "sourceRange": {
            "start": {
              "line": 446,
              "column": 6
            },
            "end": {
              "line": 449,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        }
      ],
      "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-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": 129,
              "column": 6
            },
            "end": {
              "line": 133,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          },
          "defaultValue": "1"
        },
        {
          "name": "placeholder",
          "type": "string | null | undefined",
          "description": "placeholder",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 140,
              "column": 6
            },
            "end": {
              "line": 143,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"请输入\""
        },
        {
          "name": "min",
          "type": "number | null | undefined",
          "description": "minimum input number",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 150,
              "column": 6
            },
            "end": {
              "line": 150,
              "column": 17
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "max",
          "type": "number | null | undefined",
          "description": "maximum input number",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 157,
              "column": 6
            },
            "end": {
              "line": 157,
              "column": 17
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "step",
          "type": "number | null | undefined",
          "description": "Add and subtract steps",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 164,
              "column": 6
            },
            "end": {
              "line": 167,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "1"
        },
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "title before input number",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 174,
              "column": 6
            },
            "end": {
              "line": 174,
              "column": 19
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "disabled",
          "type": "boolean | null | undefined",
          "description": "is disabled",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 181,
              "column": 6
            },
            "end": {
              "line": 184,
              "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": 191,
              "column": 6
            },
            "end": {
              "line": 194,
              "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": 201,
              "column": 6
            },
            "end": {
              "line": 201,
              "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": 208,
              "column": 6
            },
            "end": {
              "line": 211,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "isPatternLimit",
          "type": "boolean | null | undefined",
          "description": "If true,the input is limit to one format, is useful with method 'patternLimit'",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 218,
              "column": 6
            },
            "end": {
              "line": 221,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 233,
              "column": 2
            },
            "end": {
              "line": 243,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_valueChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 245,
              "column": 2
            },
            "end": {
              "line": 262,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "patternLimit",
          "description": "Limit the pattern of the input number\nnormal example:\n小数点后3位小数:e.detail.target.value = e.detail.target.value.replace(/^\\D*([0-9]*)(\\.?)([0-9]{0,3}).*$/, '$1$2$3')\n正整数(包括0）：e.detail.target.value = e.detail.target.value.replace(/\\D/g,'')\n正整数（不包括0）：if(e.detail.target.value.length==1)e.detail.target.value=e.detail.target.value.replace(/[^1-9]/,'')}else{e.detail.target.value=e.detail.target.value.replace(/\\D/g,'')}\n整数：e.detail.target.type = 'text'\n     e.detail.target.value = e.detail.target.value.replace(/[^-\\d]/g, '')",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 273,
              "column": 2
            },
            "end": {
              "line": 277,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_precisionChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 279,
              "column": 2
            },
            "end": {
              "line": 283,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "precision"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_noControlsChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 285,
              "column": 2
            },
            "end": {
              "line": 290,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "noControls"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "minus",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 292,
              "column": 2
            },
            "end": {
              "line": 294,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "add",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 296,
              "column": 2
            },
            "end": {
              "line": 298,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "calculate",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 300,
              "column": 2
            },
            "end": {
              "line": 316,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "oldValue"
            },
            {
              "name": "step"
            },
            {
              "name": "operator"
            }
          ]
        },
        {
          "name": "checkNum",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 318,
              "column": 2
            },
            "end": {
              "line": 327,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-input-number/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 45,
          "column": 0
        },
        "end": {
          "line": 328,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuInputNumber",
      "attributes": [
        {
          "name": "value",
          "description": "The value of the input number",
          "sourceRange": {
            "start": {
              "line": 129,
              "column": 6
            },
            "end": {
              "line": 133,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "placeholder",
          "description": "placeholder",
          "sourceRange": {
            "start": {
              "line": 140,
              "column": 6
            },
            "end": {
              "line": 143,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "min",
          "description": "minimum input number",
          "sourceRange": {
            "start": {
              "line": 150,
              "column": 6
            },
            "end": {
              "line": 150,
              "column": 17
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "max",
          "description": "maximum input number",
          "sourceRange": {
            "start": {
              "line": 157,
              "column": 6
            },
            "end": {
              "line": 157,
              "column": 17
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "step",
          "description": "Add and subtract steps",
          "sourceRange": {
            "start": {
              "line": 164,
              "column": 6
            },
            "end": {
              "line": 167,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "label",
          "description": "title before input number",
          "sourceRange": {
            "start": {
              "line": 174,
              "column": 6
            },
            "end": {
              "line": 174,
              "column": 19
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "disabled",
          "description": "is disabled",
          "sourceRange": {
            "start": {
              "line": 181,
              "column": 6
            },
            "end": {
              "line": 184,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "no-controls",
          "description": "Whether to display the control button or not",
          "sourceRange": {
            "start": {
              "line": 191,
              "column": 6
            },
            "end": {
              "line": 194,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "precision",
          "description": "The precision of the input number",
          "sourceRange": {
            "start": {
              "line": 201,
              "column": 6
            },
            "end": {
              "line": 201,
              "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": 208,
              "column": 6
            },
            "end": {
              "line": 211,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "is-pattern-limit",
          "description": "If true,the input is limit to one format, is useful with method 'patternLimit'",
          "sourceRange": {
            "start": {
              "line": 218,
              "column": 6
            },
            "end": {
              "line": 221,
              "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": "`isu-mask`\n\nExample:\n```html\n<isu-mask label=\"输入框\" class=\"mask\">\n<isu-input placeholder=\"测试输入\" value=\"Test\"></isu-input>\n</isu-mask>\n```\n\n## Styling\n\nThe following custom properties and mixins are available for styling:\n\n|Custom property | Description | Default|\n|----------------|-------------|----------|\n|`--isu-mask-label` | Mixin applied to the label of mask | {}\n|`--isu-mask-width` | The width of the isu-mask| 320px",
      "summary": "",
      "path": "isu-mask.js",
      "properties": [
        {
          "name": "value",
          "type": "string | null | undefined",
          "description": "The value of the slotted node.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 207,
              "column": 6
            },
            "end": {
              "line": 210,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "_valueObj",
          "type": "Object | null | undefined",
          "description": "当前的数据",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 214,
              "column": 6
            },
            "end": {
              "line": 216,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "_lastValueObj",
          "type": "Object | null | undefined",
          "description": "最近一次保存的数据",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 220,
              "column": 6
            },
            "end": {
              "line": 222,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "_viewValue",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 224,
              "column": 6
            },
            "end": {
              "line": 226,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "The label of the mask.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 231,
              "column": 6
            },
            "end": {
              "line": 233,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "string | null | undefined",
          "description": "The placeholder of the mask.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 237,
              "column": 6
            },
            "end": {
              "line": 239,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true, if the selection is required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 245,
              "column": 6
            },
            "end": {
              "line": 249,
              "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": 253,
              "column": 6
            },
            "end": {
              "line": 256,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "_slotNode",
          "type": "Object | null | undefined",
          "description": "slot插槽中的组件",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 260,
              "column": 6
            },
            "end": {
              "line": 262,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "ready",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 274,
              "column": 2
            },
            "end": {
              "line": 327,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_displayEditField",
          "description": "显示编辑区域",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 333,
              "column": 2
            },
            "end": {
              "line": 339,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "display"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__initValueOfSlottedElement",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 341,
              "column": 2
            },
            "end": {
              "line": 347,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__getValueOfSlottedElement",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 349,
              "column": 2
            },
            "end": {
              "line": 356,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__resetValueOfSlottedElement",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 358,
              "column": 2
            },
            "end": {
              "line": 361,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__updateViewer",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 363,
              "column": 2
            },
            "end": {
              "line": 371,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_submit",
          "description": "提交操作",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 377,
              "column": 2
            },
            "end": {
              "line": 382,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_cancel",
          "description": "取消操作",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 388,
              "column": 2
            },
            "end": {
              "line": 393,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-mask/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 31,
          "column": 0
        },
        "end": {
          "line": 394,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuMask",
      "attributes": [
        {
          "name": "value",
          "description": "The value of the slotted node.",
          "sourceRange": {
            "start": {
              "line": 207,
              "column": 6
            },
            "end": {
              "line": 210,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "label",
          "description": "The label of the mask.",
          "sourceRange": {
            "start": {
              "line": 231,
              "column": 6
            },
            "end": {
              "line": 233,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "placeholder",
          "description": "The placeholder of the mask.",
          "sourceRange": {
            "start": {
              "line": 237,
              "column": 6
            },
            "end": {
              "line": 239,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "required",
          "description": "Set to true, if the selection is required.",
          "sourceRange": {
            "start": {
              "line": 245,
              "column": 6
            },
            "end": {
              "line": 249,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "attr-for-display",
          "description": "The attribute name of the item to display on mask.",
          "sourceRange": {
            "start": {
              "line": 253,
              "column": 6
            },
            "end": {
              "line": 256,
              "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=\"5000\" start=\"0\" limit=\"20\"></isu-pagination>\n<isu-pagination total=\"50\" page-sizes='[10,20,30]' start=\"0\" limit=\"10\"></isu-pagination>\n<isu-pagination id=\"page2\" total=\"5000\" start=\"0\" limit=\"20\" size=\"small\"></isu-pagination>\n<isu-pagination id=\"page3\" total=\"5000\" start=\"0\" limit=\"20\" size=\"mini\" hide-page-select></isu-pagination>\n<isu-pagination id=\"pageSingle2\" total=\"1\" start=\"0\" limit=\"20\" hide-on-single-page></isu-pagination>\n<isu-pagination id=\"pageSelect\" total=\"5000\" start=\"0\" limit=\"20\" hide-page-select></isu-pagination>\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-pagination` | Mixin applied to the pagination | {}\n`--isu-pagination-size-selector` | Mixin applied to the page size selector | {}",
      "summary": "",
      "path": "isu-pagination.js",
      "properties": [
        {
          "name": "__dataEnabled",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 179,
              "column": 6
            },
            "end": {
              "line": 179,
              "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": 1331,
              "column": 6
            },
            "end": {
              "line": 1331,
              "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": 1333,
              "column": 6
            },
            "end": {
              "line": 1333,
              "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": 1335,
              "column": 6
            },
            "end": {
              "line": 1335,
              "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": 1337,
              "column": 6
            },
            "end": {
              "line": 1337,
              "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": 1339,
              "column": 6
            },
            "end": {
              "line": 1339,
              "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": 1341,
              "column": 6
            },
            "end": {
              "line": 1341,
              "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": 1343,
              "column": 6
            },
            "end": {
              "line": 1343,
              "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": 1345,
              "column": 6
            },
            "end": {
              "line": 1345,
              "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": 1347,
              "column": 6
            },
            "end": {
              "line": 1347,
              "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": 1349,
              "column": 6
            },
            "end": {
              "line": 1349,
              "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": 1351,
              "column": 6
            },
            "end": {
              "line": 1351,
              "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": 1353,
              "column": 6
            },
            "end": {
              "line": 1353,
              "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": 1355,
              "column": 6
            },
            "end": {
              "line": 1355,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__computeInfo",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1357,
              "column": 6
            },
            "end": {
              "line": 1357,
              "column": 25
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__reflectEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1359,
              "column": 6
            },
            "end": {
              "line": 1359,
              "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": 1361,
              "column": 6
            },
            "end": {
              "line": 1361,
              "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": 1363,
              "column": 6
            },
            "end": {
              "line": 1363,
              "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": 1365,
              "column": 6
            },
            "end": {
              "line": 1365,
              "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": 1367,
              "column": 6
            },
            "end": {
              "line": 1367,
              "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": 1369,
              "column": 6
            },
            "end": {
              "line": 1369,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_overrideLegacyUndefined",
          "type": "boolean",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1371,
              "column": 6
            },
            "end": {
              "line": 1371,
              "column": 36
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "PROPERTY_EFFECT_TYPES",
          "type": "?",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1374,
              "column": 4
            },
            "end": {
              "line": 1376,
              "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": 558,
              "column": 6
            },
            "end": {
              "line": 558,
              "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": 560,
              "column": 6
            },
            "end": {
              "line": 560,
              "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": 562,
              "column": 6
            },
            "end": {
              "line": 562,
              "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": 564,
              "column": 6
            },
            "end": {
              "line": 564,
              "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": 566,
              "column": 6
            },
            "end": {
              "line": 566,
              "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": 568,
              "column": 6
            },
            "end": {
              "line": 568,
              "column": 13
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "limit",
          "type": "number",
          "description": "Max count of single page.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 219,
              "column": 6
            },
            "end": {
              "line": 222,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_limitChanged\"",
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "total",
          "type": "number",
          "description": "Total count.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 228,
              "column": 6
            },
            "end": {
              "line": 231,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "0"
        },
        {
          "name": "size",
          "type": "string",
          "description": "Size of the pagination, small/mini",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 237,
              "column": 6
            },
            "end": {
              "line": 242,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "hideOnSinglePage",
          "type": "boolean",
          "description": "Total count.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 248,
              "column": 6
            },
            "end": {
              "line": 251,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "totalPageSize",
          "type": "number | null | undefined",
          "description": "Total page sizes",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 256,
              "column": 6
            },
            "end": {
              "line": 259,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "hidePageSelect",
          "type": "boolean",
          "description": "Whether or not show the page select items",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 266,
              "column": 6
            },
            "end": {
              "line": 269,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "hidePerPageNum",
          "type": "boolean",
          "description": "Whether or not show the per page Num",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 275,
              "column": 6
            },
            "end": {
              "line": 278,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "pageSizes",
          "type": "array",
          "description": "The number of items that are displayed per page",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 284,
              "column": 6
            },
            "end": {
              "line": 289,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[20,40,60]"
        },
        {
          "name": "__pageIndex",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 291,
              "column": 6
            },
            "end": {
              "line": 293,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "start",
          "type": "number",
          "description": "The start page of the pagination",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 299,
              "column": 6
            },
            "end": {
              "line": 303,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "__pageSize",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 305,
              "column": 6
            },
            "end": {
              "line": 308,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "__limit",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 310,
              "column": 6
            },
            "end": {
              "line": 312,
              "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": 2783,
              "column": 4
            },
            "end": {
              "line": 2816,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template to stamp"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo=",
              "description": "Optional bound template info associated\n  with the template to be stamped; if omitted the template will be\n  automatically bound."
            }
          ],
          "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": 537,
              "column": 4
            },
            "end": {
              "line": 542,
              "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": 553,
              "column": 4
            },
            "end": {
              "line": 555,
              "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": 566,
              "column": 4
            },
            "end": {
              "line": 568,
              "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": 148,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "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": 157,
              "column": 5
            },
            "end": {
              "line": 174,
              "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": 688,
              "column": 4
            },
            "end": {
              "line": 694,
              "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": 583,
              "column": 4
            },
            "end": {
              "line": 612,
              "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": 250,
              "column": 4
            },
            "end": {
              "line": 252,
              "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": 264,
              "column": 4
            },
            "end": {
              "line": 268,
              "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": 277,
              "column": 4
            },
            "end": {
              "line": 279,
              "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": 295,
              "column": 4
            },
            "end": {
              "line": 311,
              "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": "_isPropertyPending",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 318,
              "column": 4
            },
            "end": {
              "line": 320,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property is pending."
          },
          "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": 330,
              "column": 4
            },
            "end": {
              "line": 340,
              "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": 354,
              "column": 4
            },
            "end": {
              "line": 363,
              "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": 375,
              "column": 4
            },
            "end": {
              "line": 386,
              "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": 401,
              "column": 4
            },
            "end": {
              "line": 403,
              "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": 418,
              "column": 4
            },
            "end": {
              "line": 419,
              "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": 440,
              "column": 4
            },
            "end": {
              "line": 447,
              "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": 461,
              "column": 4
            },
            "end": {
              "line": 468,
              "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": 483,
              "column": 4
            },
            "end": {
              "line": 490,
              "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": 503,
              "column": 4
            },
            "end": {
              "line": 509,
              "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": 525,
              "column": 4
            },
            "end": {
              "line": 535,
              "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": 549,
              "column": 4
            },
            "end": {
              "line": 556,
              "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": 571,
              "column": 4
            },
            "end": {
              "line": 580,
              "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": 1416,
              "column": 4
            },
            "end": {
              "line": 1420,
              "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": "_registerHost",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1397,
              "column": 4
            },
            "end": {
              "line": 1405,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "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": 1455,
              "column": 4
            },
            "end": {
              "line": 1463,
              "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": 1474,
              "column": 4
            },
            "end": {
              "line": 1480,
              "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": 1493,
              "column": 4
            },
            "end": {
              "line": 1496,
              "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": 1508,
              "column": 4
            },
            "end": {
              "line": 1510,
              "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": 1522,
              "column": 4
            },
            "end": {
              "line": 1524,
              "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": 1536,
              "column": 4
            },
            "end": {
              "line": 1538,
              "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": 1550,
              "column": 4
            },
            "end": {
              "line": 1552,
              "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": 1585,
              "column": 4
            },
            "end": {
              "line": 1617,
              "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": 1641,
              "column": 4
            },
            "end": {
              "line": 1653,
              "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": 1761,
              "column": 4
            },
            "end": {
              "line": 1766,
              "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": 1776,
              "column": 4
            },
            "end": {
              "line": 1787,
              "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": 1801,
              "column": 4
            },
            "end": {
              "line": 1814,
              "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": 706,
              "column": 4
            },
            "end": {
              "line": 715,
              "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": 1845,
              "column": 4
            },
            "end": {
              "line": 1856,
              "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": 1946,
              "column": 4
            },
            "end": {
              "line": 1953,
              "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": "_runEffectsForTemplate",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1955,
              "column": 4
            },
            "end": {
              "line": 1968,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "templateInfo"
            },
            {
              "name": "changedProps"
            },
            {
              "name": "oldProps"
            },
            {
              "name": "hasPaths"
            }
          ],
          "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": 1980,
              "column": 4
            },
            "end": {
              "line": 1985,
              "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": 1998,
              "column": 4
            },
            "end": {
              "line": 2003,
              "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": 2039,
              "column": 4
            },
            "end": {
              "line": 2043,
              "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": 2065,
              "column": 4
            },
            "end": {
              "line": 2067,
              "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": 2091,
              "column": 4
            },
            "end": {
              "line": 2101,
              "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": 2118,
              "column": 4
            },
            "end": {
              "line": 2127,
              "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": 2143,
              "column": 4
            },
            "end": {
              "line": 2152,
              "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": 2172,
              "column": 4
            },
            "end": {
              "line": 2209,
              "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": 2225,
              "column": 4
            },
            "end": {
              "line": 2234,
              "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": 2251,
              "column": 4
            },
            "end": {
              "line": 2259,
              "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": 2275,
              "column": 4
            },
            "end": {
              "line": 2292,
              "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": 2306,
              "column": 4
            },
            "end": {
              "line": 2313,
              "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": 2329,
              "column": 4
            },
            "end": {
              "line": 2339,
              "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": 2353,
              "column": 4
            },
            "end": {
              "line": 2359,
              "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": 2371,
              "column": 4
            },
            "end": {
              "line": 2379,
              "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": 2392,
              "column": 4
            },
            "end": {
              "line": 2405,
              "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": 2420,
              "column": 4
            },
            "end": {
              "line": 2429,
              "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": 2444,
              "column": 4
            },
            "end": {
              "line": 2470,
              "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 an instance\nto add effects at runtime.  See that method for full 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": 2690,
              "column": 4
            },
            "end": {
              "line": 2736,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template containing binding\nbindings"
            },
            {
              "name": "instanceBinding",
              "type": "boolean=",
              "description": "When false (default), performs\n\"prototypical\" binding of the template and overwrites any previously\nbound template for the class. When true (as passed from\n`_stampTemplate`), the template info is instanced and linked into the\nlist of bound templates."
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Template metadata object; for `runtimeBinding`,\nthis 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": 2828,
              "column": 4
            },
            "end": {
              "line": 2852,
              "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": 675,
              "column": 4
            },
            "end": {
              "line": 680,
              "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": "_canApplyPropertyDefault",
          "description": "Determines if a property dfeault can be applied. For example, this\nprevents a default from being applied when a property that has no\naccessor is overridden by its host before upgrade (e.g. via a binding).",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 622,
              "column": 4
            },
            "end": {
              "line": 624,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property default can be applied."
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "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": 730,
              "column": 4
            },
            "end": {
              "line": 755,
              "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": 779,
              "column": 4
            },
            "end": {
              "line": 783,
              "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": 801,
              "column": 4
            },
            "end": {
              "line": 806,
              "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": 316,
              "column": 2
            },
            "end": {
              "line": 318,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "pageSizes",
              "defaultValue": "[]"
            }
          ]
        },
        {
          "name": "_pageStartChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 329,
              "column": 2
            },
            "end": {
              "line": 342,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "start"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_totalChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 344,
              "column": 2
            },
            "end": {
              "line": 348,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "total"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_pageIndexChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 350,
              "column": 2
            },
            "end": {
              "line": 353,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "__pageIndex"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_limitChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 355,
              "column": 2
            },
            "end": {
              "line": 369,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "limit"
            },
            {
              "name": "oldLimit"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__limitChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 371,
              "column": 2
            },
            "end": {
              "line": 375,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "limit"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_calTotalPageSize",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 377,
              "column": 2
            },
            "end": {
              "line": 379,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "total"
            },
            {
              "name": "limit"
            }
          ]
        },
        {
          "name": "first",
          "description": "Go to the first page.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 384,
              "column": 2
            },
            "end": {
              "line": 386,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "prev",
          "description": "Go to previous page.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 391,
              "column": 2
            },
            "end": {
              "line": 395,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "next",
          "description": "Go to next page.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 400,
              "column": 2
            },
            "end": {
              "line": 404,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "last",
          "description": "Go to the last page.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 409,
              "column": 2
            },
            "end": {
              "line": 411,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "isMini",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 413,
              "column": 2
            },
            "end": {
              "line": 415,
              "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": 247,
              "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": 821,
              "column": 4
            },
            "end": {
              "line": 827,
              "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": 2871,
              "column": 4
            },
            "end": {
              "line": 2888,
              "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": 327,
              "column": 4
            },
            "end": {
              "line": 365,
              "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": 2978,
              "column": 4
            },
            "end": {
              "line": 3028,
              "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": 408,
              "column": 4
            },
            "end": {
              "line": 417,
              "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": 2909,
              "column": 4
            },
            "end": {
              "line": 2962,
              "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": 465,
              "column": 4
            },
            "end": {
              "line": 468,
              "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": 408,
              "column": 4
            },
            "end": {
              "line": 413,
              "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": 2511,
              "column": 4
            },
            "end": {
              "line": 2513,
              "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": 2526,
              "column": 4
            },
            "end": {
              "line": 2528,
              "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": 2544,
              "column": 4
            },
            "end": {
              "line": 2546,
              "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": 2557,
              "column": 4
            },
            "end": {
              "line": 2559,
              "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": 2578,
              "column": 4
            },
            "end": {
              "line": 2580,
              "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": 2591,
              "column": 4
            },
            "end": {
              "line": 2593,
              "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": 2610,
              "column": 4
            },
            "end": {
              "line": 2612,
              "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": 2627,
              "column": 4
            },
            "end": {
              "line": 2629,
              "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": 841,
              "column": 4
            },
            "end": {
              "line": 866,
              "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": 3075,
              "column": 4
            },
            "end": {
              "line": 3140,
              "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": 3157,
              "column": 4
            },
            "end": {
              "line": 3174,
              "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": 372,
              "column": 4
            },
            "end": {
              "line": 381,
              "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": 384,
              "column": 4
            },
            "end": {
              "line": 398,
              "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": 427,
              "column": 4
            },
            "end": {
              "line": 432,
              "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": 635,
              "column": 4
            },
            "end": {
              "line": 637,
              "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": 649,
              "column": 4
            },
            "end": {
              "line": 660,
              "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": 35,
          "column": 0
        },
        "end": {
          "line": 416,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "PolymerElement",
      "name": "IsuPagination",
      "attributes": [
        {
          "name": "limit",
          "description": "Max count of single page.",
          "sourceRange": {
            "start": {
              "line": 219,
              "column": 6
            },
            "end": {
              "line": 222,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "total",
          "description": "Total count.",
          "sourceRange": {
            "start": {
              "line": 228,
              "column": 6
            },
            "end": {
              "line": 231,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "size",
          "description": "Size of the pagination, small/mini",
          "sourceRange": {
            "start": {
              "line": 237,
              "column": 6
            },
            "end": {
              "line": 242,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "hide-on-single-page",
          "description": "Total count.",
          "sourceRange": {
            "start": {
              "line": 248,
              "column": 6
            },
            "end": {
              "line": 251,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "total-page-size",
          "description": "Total page sizes",
          "sourceRange": {
            "start": {
              "line": 256,
              "column": 6
            },
            "end": {
              "line": 259,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "hide-page-select",
          "description": "Whether or not show the page select items",
          "sourceRange": {
            "start": {
              "line": 266,
              "column": 6
            },
            "end": {
              "line": 269,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "hide-per-page-num",
          "description": "Whether or not show the per page Num",
          "sourceRange": {
            "start": {
              "line": 275,
              "column": 6
            },
            "end": {
              "line": 278,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "page-sizes",
          "description": "The number of items that are displayed per page",
          "sourceRange": {
            "start": {
              "line": 284,
              "column": 6
            },
            "end": {
              "line": 289,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "start",
          "description": "The start page of the pagination",
          "sourceRange": {
            "start": {
              "line": 299,
              "column": 6
            },
            "end": {
              "line": 303,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "size-changed",
          "description": "Fired when the `size` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "start-changed",
          "description": "Fired when the `start` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-pagination"
    },
    {
      "description": "`isu-paper-tabs`\n\nExample:\n```html\n <isu-paper-tabs value=\"0\" id=\"iSuPaperTabs1\"></isu-paper-tabs>\n <isu-paper-tabs value=\"one\" attr-for-selected=\"name\"  id=\"iSuPaperTabsRight\" tab-position=\"right\"></isu-paper-tabs>\n <isu-paper-tabs value=\"0\" id=\"iSuPaperTabsLeft\" tab-position=\"left\"></isu-paper-tabs>\n <isu-paper-tabs value=\"0\" id=\"iSuBottomPaperTabs\" tab-position=\"bottom\"></isu-paper-tabs>\n <isu-paper-tabs value=\"0\" id=\"iSuCardPaperTabs\" tab-type=\"card\"></isu-paper-tabs>\n <isu-paper-tabs value=\"0\" id=\"iSuBorderCardPaperTabs\" tab-type=\"border-card\"></isu-paper-tabs>\n <isu-paper-tabs value=\"0\" id=\"iSuWidthBarPaperTabs\" tab-type=\"width-bar\"></isu-paper-tabs>\n```",
      "summary": "",
      "path": "isu-paper-tabs.js",
      "properties": [
        {
          "name": "tabList",
          "type": "Array | null | undefined",
          "description": "TabList:Must-Pass,is a Array.\nChild element\nrequirements:{label:String,value:Number||String,permission:Boolean,iconName:String, disabled:Boolean}.\nif permission === false ,paper-tab hidden.\nif disabled === false,paper-tab can't click.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 206,
              "column": 6
            },
            "end": {
              "line": 212,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          },
          "defaultValue": "[{\"label\":\"Paper-tab\",\"value\":0,\"permission\":true,\"disabled\":false}]"
        },
        {
          "name": "value",
          "type": "?",
          "description": "The selected value, if attrForSelected === 'name',the name of the selectedItem is returned,\notherwise the number is returned, the default value is 0",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 217,
              "column": 6
            },
            "end": {
              "line": 221,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true
            }
          },
          "defaultValue": "0"
        },
        {
          "name": "selectedItem",
          "type": "Object | null | undefined",
          "description": "selectedItem",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 225,
              "column": 6
            },
            "end": {
              "line": 228,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_selectedItemChange\"",
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "tabPosition",
          "type": "string | null | undefined",
          "description": "Tab position, the default value is top, there are three types:top/left/right/bottom",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 232,
              "column": 6
            },
            "end": {
              "line": 237,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_tabPositionChange\"",
              "attributeType": "String"
            }
          },
          "defaultValue": "\"top\""
        },
        {
          "name": "tabType",
          "type": "string | null | undefined",
          "description": "tab type, the default value is card, there are three types:card/border-card/width-bar",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 241,
              "column": 6
            },
            "end": {
              "line": 246,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_tabTypeChange\"",
              "attributeType": "String"
            }
          },
          "defaultValue": "\"card\""
        },
        {
          "name": "attrForSelected",
          "type": "string | null | undefined",
          "description": "If you want to use an attribute value or property of an element for\n`selected` instead of the index, set this to the name of the attribute\nor property. Hyphenated values are converted to camel case when used to\nlook up the property of a selectable element. Camel cased values are\n*not* converted to hyphenated values for attribute lookup. It's\nrecommended that you provide the hyphenated form of the name so that\nselection works in both cases. (Use `attr-or-property-name` instead of\n`attrOrPropertyName`.)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 257,
              "column": 6
            },
            "end": {
              "line": 257,
              "column": 53
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "__attrForSelected",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 259,
              "column": 6
            },
            "end": {
              "line": 259,
              "column": 96
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "noink",
          "type": "boolean | null | undefined",
          "description": "If true, ink ripple effect is disabled. When this property is changed,\nall descendant `<paper-tab>` elements have their `noink` property\nchanged to the new value as well.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 265,
              "column": 6
            },
            "end": {
              "line": 265,
              "column": 57
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "noBar",
          "type": "boolean | null | undefined",
          "description": "If true, the bottom bar to indicate the selected tab will not be shown.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 269,
              "column": 6
            },
            "end": {
              "line": 269,
              "column": 57
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "noSlide",
          "type": "boolean | null | undefined",
          "description": "If true, the slide effect for the bottom bar is disabled.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 273,
              "column": 6
            },
            "end": {
              "line": 273,
              "column": 59
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "scrollable",
          "type": "boolean | null | undefined",
          "description": "If true, tabs are scrollable and the tab width is based on the label\nwidth.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 278,
              "column": 6
            },
            "end": {
              "line": 278,
              "column": 63
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "fitContainer",
          "type": "boolean | null | undefined",
          "description": "If true, tabs expand to fit their container. This currently only applies\nwhen scrollable is true.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 283,
              "column": 6
            },
            "end": {
              "line": 283,
              "column": 65
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "alignBottom",
          "type": "boolean | null | undefined",
          "description": "If true, the tabs are aligned to bottom (the selection bar appears at the\ntop).",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 288,
              "column": 6
            },
            "end": {
              "line": 288,
              "column": 64
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "autoSelect",
          "type": "boolean | null | undefined",
          "description": "If true, tabs are automatically selected when focused using the\nkeyboard.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 293,
              "column": 6
            },
            "end": {
              "line": 293,
              "column": 63
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "autoSelectDelay",
          "type": "number | null | undefined",
          "description": "The delay (in milliseconds) between when the user stops interacting\nwith the tabs through the keyboard and when the focused item is\nautomatically selected (if `autoselect` is true).",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 299,
              "column": 6
            },
            "end": {
              "line": 299,
              "column": 63
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          },
          "defaultValue": "0"
        },
        {
          "name": "disableDrag",
          "type": "boolean | null | undefined",
          "description": "If true, dragging on the tabs to scroll is disabled.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 303,
              "column": 6
            },
            "end": {
              "line": 303,
              "column": 50
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "hideScrollButtons",
          "type": "boolean | null | undefined",
          "description": "If true, scroll buttons (left/right arrow) will be hidden for scrollable\ntabs.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 309,
              "column": 6
            },
            "end": {
              "line": 309,
              "column": 56
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "isClear",
          "type": "boolean | null | undefined",
          "description": "If true, the paper-tab will have clear icon.On click it,can clear this paper-tab.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 313,
              "column": 6
            },
            "end": {
              "line": 313,
              "column": 46
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "__attrForSelectedChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 321,
              "column": 2
            },
            "end": {
              "line": 323,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "attrForSelected"
            }
          ]
        },
        {
          "name": "_selectedItemChange",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 325,
              "column": 2
            },
            "end": {
              "line": 329,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "newVal"
            }
          ]
        },
        {
          "name": "_computedPositionSelectionBarHeight",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 331,
              "column": 2
            },
            "end": {
              "line": 336,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "selectedItem"
            }
          ]
        },
        {
          "name": "_tabPositionChange",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 338,
              "column": 2
            },
            "end": {
              "line": 349,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "newVal"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_tabTypeChange",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 351,
              "column": 2
            },
            "end": {
              "line": 355,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "newVal"
            }
          ]
        },
        {
          "name": "getTabPositionClass",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 357,
              "column": 2
            },
            "end": {
              "line": 364,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "type"
            }
          ]
        },
        {
          "name": "getTabTypeClass",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 366,
              "column": 2
            },
            "end": {
              "line": 373,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "type"
            }
          ]
        },
        {
          "name": "_isAppearClearIcon",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 375,
              "column": 2
            },
            "end": {
              "line": 377,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isClear"
            },
            {
              "name": "tabType"
            }
          ]
        },
        {
          "name": "clearPaperTab",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 379,
              "column": 2
            },
            "end": {
              "line": 385,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__getForSelectedName",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 387,
              "column": 2
            },
            "end": {
              "line": 393,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            },
            {
              "name": "attrForSelected"
            }
          ]
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-paper-tabs/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 27,
          "column": 0
        },
        "end": {
          "line": 394,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuPaperTabs",
      "attributes": [
        {
          "name": "tab-list",
          "description": "TabList:Must-Pass,is a Array.\nChild element\nrequirements:{label:String,value:Number||String,permission:Boolean,iconName:String, disabled:Boolean}.\nif permission === false ,paper-tab hidden.\nif disabled === false,paper-tab can't click.",
          "sourceRange": {
            "start": {
              "line": 206,
              "column": 6
            },
            "end": {
              "line": 212,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "value",
          "description": "The selected value, if attrForSelected === 'name',the name of the selectedItem is returned,\notherwise the number is returned, the default value is 0",
          "sourceRange": {
            "start": {
              "line": 217,
              "column": 6
            },
            "end": {
              "line": 221,
              "column": 7
            }
          },
          "metadata": {}
        },
        {
          "name": "selected-item",
          "description": "selectedItem",
          "sourceRange": {
            "start": {
              "line": 225,
              "column": 6
            },
            "end": {
              "line": 228,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "tab-position",
          "description": "Tab position, the default value is top, there are three types:top/left/right/bottom",
          "sourceRange": {
            "start": {
              "line": 232,
              "column": 6
            },
            "end": {
              "line": 237,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "tab-type",
          "description": "tab type, the default value is card, there are three types:card/border-card/width-bar",
          "sourceRange": {
            "start": {
              "line": 241,
              "column": 6
            },
            "end": {
              "line": 246,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "attr-for-selected",
          "description": "If you want to use an attribute value or property of an element for\n`selected` instead of the index, set this to the name of the attribute\nor property. Hyphenated values are converted to camel case when used to\nlook up the property of a selectable element. Camel cased values are\n*not* converted to hyphenated values for attribute lookup. It's\nrecommended that you provide the hyphenated form of the name so that\nselection works in both cases. (Use `attr-or-property-name` instead of\n`attrOrPropertyName`.)",
          "sourceRange": {
            "start": {
              "line": 257,
              "column": 6
            },
            "end": {
              "line": 257,
              "column": 53
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "noink",
          "description": "If true, ink ripple effect is disabled. When this property is changed,\nall descendant `<paper-tab>` elements have their `noink` property\nchanged to the new value as well.",
          "sourceRange": {
            "start": {
              "line": 265,
              "column": 6
            },
            "end": {
              "line": 265,
              "column": 57
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "no-bar",
          "description": "If true, the bottom bar to indicate the selected tab will not be shown.",
          "sourceRange": {
            "start": {
              "line": 269,
              "column": 6
            },
            "end": {
              "line": 269,
              "column": 57
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "no-slide",
          "description": "If true, the slide effect for the bottom bar is disabled.",
          "sourceRange": {
            "start": {
              "line": 273,
              "column": 6
            },
            "end": {
              "line": 273,
              "column": 59
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "scrollable",
          "description": "If true, tabs are scrollable and the tab width is based on the label\nwidth.",
          "sourceRange": {
            "start": {
              "line": 278,
              "column": 6
            },
            "end": {
              "line": 278,
              "column": 63
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "fit-container",
          "description": "If true, tabs expand to fit their container. This currently only applies\nwhen scrollable is true.",
          "sourceRange": {
            "start": {
              "line": 283,
              "column": 6
            },
            "end": {
              "line": 283,
              "column": 65
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "align-bottom",
          "description": "If true, the tabs are aligned to bottom (the selection bar appears at the\ntop).",
          "sourceRange": {
            "start": {
              "line": 288,
              "column": 6
            },
            "end": {
              "line": 288,
              "column": 64
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "auto-select",
          "description": "If true, tabs are automatically selected when focused using the\nkeyboard.",
          "sourceRange": {
            "start": {
              "line": 293,
              "column": 6
            },
            "end": {
              "line": 293,
              "column": 63
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "auto-select-delay",
          "description": "The delay (in milliseconds) between when the user stops interacting\nwith the tabs through the keyboard and when the focused item is\nautomatically selected (if `autoselect` is true).",
          "sourceRange": {
            "start": {
              "line": 299,
              "column": 6
            },
            "end": {
              "line": 299,
              "column": 63
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "disable-drag",
          "description": "If true, dragging on the tabs to scroll is disabled.",
          "sourceRange": {
            "start": {
              "line": 303,
              "column": 6
            },
            "end": {
              "line": 303,
              "column": 50
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "hide-scroll-buttons",
          "description": "If true, scroll buttons (left/right arrow) will be hidden for scrollable\ntabs.",
          "sourceRange": {
            "start": {
              "line": 309,
              "column": 6
            },
            "end": {
              "line": 309,
              "column": 56
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "is-clear",
          "description": "If true, the paper-tab will have clear icon.On click it,can clear this paper-tab.",
          "sourceRange": {
            "start": {
              "line": 313,
              "column": 6
            },
            "end": {
              "line": 313,
              "column": 46
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "tab-list-changed",
          "description": "Fired when the `tabList` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` 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=\"单选\" value=\"1\" 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\" query-by-value-url=\"/init.do\" label=\"自定义初始数据源\" attr-for-value=\"id\"></isu-picker>\n <isu-picker id=\"picker9\" label=\"通过接口搜索数据\" query-by-value-url=\"/init.do\" multi=\"\" attr-for-value=\"id\"></isu-picker>\n <isu-picker id=\"picker10\" label=\"键盘快捷键操作\" query-by-value-url=\"/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 | 320px\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 | {}\n |`--isu-view-text` | Mixin applied to the text when the readonly and is-view is true | {}",
      "summary": "",
      "path": "isu-picker.js",
      "properties": [
        {
          "name": "_pinyinUtil",
          "type": "Object | null | undefined",
          "description": "Chinese pinyin plugin",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 353,
              "column": 6
            },
            "end": {
              "line": 359,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "_cacheSearchUtil",
          "type": "Object | null | undefined",
          "description": "Cache search plugin",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 363,
              "column": 6
            },
            "end": {
              "line": 369,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "_fetchUtil",
          "type": "Object | null | undefined",
          "description": "The component that sends the request and simulates the data",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 373,
              "column": 6
            },
            "end": {
              "line": 379,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "label",
          "type": "string",
          "description": "The label of the picker.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 384,
              "column": 6
            },
            "end": {
              "line": 386,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "String",
          "description": "The placeholder of the select.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 391,
              "column": 6
            },
            "end": {
              "line": 393,
              "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": 400,
              "column": 6
            },
            "end": {
              "line": 403,
              "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": 408,
              "column": 6
            },
            "end": {
              "line": 411,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "selectedItem",
          "type": "object",
          "description": "The selected item.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 416,
              "column": 6
            },
            "end": {
              "line": 419,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "queryByKeywordUrl",
          "type": "string",
          "description": "A url for searching data with user input keywords, the response data of the request should be json.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 424,
              "column": 6
            },
            "end": {
              "line": 426,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "queryByValueUrl",
          "type": "string",
          "description": "A url for fetching data by value, the response data of the request should be json.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 431,
              "column": 6
            },
            "end": {
              "line": 433,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "items",
          "type": "array",
          "description": "The candidate selection of this picker.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 438,
              "column": 6
            },
            "end": {
              "line": 440,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "_displayItems",
          "type": "array",
          "description": "The data set displayed currently in the drop-down panel（The first 10 of the items are displayed by default）",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 445,
              "column": 6
            },
            "end": {
              "line": 447,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "_userInputKeyword",
          "type": "string",
          "description": "The search keywords input by the user",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 453,
              "column": 6
            },
            "end": {
              "line": 455,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "fieldsForIndex",
          "type": "array",
          "description": "Fields to build index for pinyin plugin.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 460,
              "column": 6
            },
            "end": {
              "line": 462,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "pickerMeta",
          "type": "array",
          "description": "The fields shown in the drop-down panel，default: [{\"field\": \"label\", \"label\": \"选项\"}]",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 468,
              "column": 6
            },
            "end": {
              "line": 473,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          },
          "defaultValue": "[{\"field\":\"label\",\"label\":\"选项\"}]"
        },
        {
          "name": "attrForValue",
          "type": "string",
          "description": "Attribute name for value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 479,
              "column": 6
            },
            "end": {
              "line": 482,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"value\""
        },
        {
          "name": "attrForLabel",
          "type": "object",
          "description": "Attribute name for label.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 488,
              "column": 6
            },
            "end": {
              "line": 491,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "disablePinyinSearch",
          "type": "boolean",
          "description": "Whether to disable pinyin search or not",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 498,
              "column": 6
            },
            "end": {
              "line": 501,
              "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": 508,
              "column": 6
            },
            "end": {
              "line": 512,
              "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": 518,
              "column": 6
            },
            "end": {
              "line": 522,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "multi",
          "type": "boolean",
          "description": "If true, multiple selections are allowed.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 528,
              "column": 6
            },
            "end": {
              "line": 531,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "__focusIndex",
          "type": "number | null | undefined",
          "description": "The current option focus in the dropdown panel.",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 535,
              "column": 6
            },
            "end": {
              "line": 538,
              "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": 544,
              "column": 6
            },
            "end": {
              "line": 547,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "multiLimit",
          "type": "number",
          "description": "The limit number that customers can choose if the selection is multiple.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 554,
              "column": 6
            },
            "end": {
              "line": 556,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "fetchParam",
          "type": "Object",
          "description": "url`s params",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 562,
              "column": 6
            },
            "end": {
              "line": 564,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "keywordPath",
          "type": "string | null | undefined",
          "description": "queryByKeywordUrl query params name ,default 'keyword',such as `/queryBykeyword?keyword = `",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 569,
              "column": 6
            },
            "end": {
              "line": 572,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"keyword\""
        },
        {
          "name": "valuePath",
          "type": "string | null | undefined",
          "description": "queryByValueUrl query params name,default 'ids',such as `/queryByValues?ids = `",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 576,
              "column": 6
            },
            "end": {
              "line": 579,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"ids\""
        },
        {
          "name": "resultPath",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 581,
              "column": 6
            },
            "end": {
              "line": 583,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "shortcutKey",
          "type": "string",
          "description": "shortcut key",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 589,
              "column": 6
            },
            "end": {
              "line": 592,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"Enter\""
        },
        {
          "name": "inputChinese",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 593,
              "column": 6
            },
            "end": {
              "line": 593,
              "column": 27
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "prompt",
          "type": "string | null | undefined",
          "description": "The prompt tip to show when input is invalid.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 598,
              "column": 6
            },
            "end": {
              "line": 600,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "promptPosition",
          "type": "string | null | undefined",
          "description": "The prompt tip's position. top/bottom",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 606,
              "column": 6
            },
            "end": {
              "line": 609,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "method",
          "type": "string | null | undefined",
          "description": "The mode of the request, eg: POST/GET",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 615,
              "column": 6
            },
            "end": {
              "line": 618,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"GET\""
        },
        {
          "name": "isView",
          "type": "boolean",
          "description": "The text mode display requires readonly=true to take effect",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 624,
              "column": 6
            },
            "end": {
              "line": 627,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "joinConnector",
          "type": "string",
          "description": "The connector to connect labels when the isView=true, eg: \"苹果，香蕉，梨\"",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 633,
              "column": 6
            },
            "end": {
              "line": 636,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\",\""
        },
        {
          "name": "hidden",
          "type": "boolean | null | undefined",
          "description": "If true hides the component， default false",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 640,
              "column": 6
            },
            "end": {
              "line": 644,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "permission",
          "type": "boolean | null | undefined",
          "description": "If you do not have permissions, the component does not display",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 650,
              "column": 6
            },
            "end": {
              "line": 654,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_permissionChange\"",
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "headers",
          "type": "Object | null | undefined",
          "description": "Ajax headers",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 660,
              "column": 6
            },
            "end": {
              "line": 662,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "zeroIsValue",
          "type": "boolean | null | undefined",
          "description": "0 是否为有效value值，默认为否",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 666,
              "column": 6
            },
            "end": {
              "line": 669,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "displayItemsLength",
          "type": "number | null | undefined",
          "description": "选择选项的长度，默认10",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 673,
              "column": 6
            },
            "end": {
              "line": 676,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "10"
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 696,
              "column": 2
            },
            "end": {
              "line": 715,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_contextMenuHandler",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 717,
              "column": 2
            },
            "end": {
              "line": 727,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getViewLabels",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 729,
              "column": 2
            },
            "end": {
              "line": 732,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "items",
              "defaultValue": "[]"
            },
            {
              "name": "attrForLabel"
            },
            {
              "name": "connector"
            }
          ]
        },
        {
          "name": "__calcTagName",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 734,
              "column": 2
            },
            "end": {
              "line": 740,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            }
          ]
        },
        {
          "name": "_mkRequest",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 742,
              "column": 2
            },
            "end": {
              "line": 766,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "url"
            },
            {
              "name": "data"
            }
          ]
        },
        {
          "name": "_queryByKeywordUrlChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 768,
              "column": 2
            },
            "end": {
              "line": 771,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "queryByKeywordUrl"
            }
          ]
        },
        {
          "name": "_getSelectedForItems",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 773,
              "column": 2
            },
            "end": {
              "line": 785,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "itemsArr"
            }
          ]
        },
        {
          "name": "_itemsChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 787,
              "column": 2
            },
            "end": {
              "line": 798,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "items",
              "defaultValue": "[]"
            }
          ]
        },
        {
          "name": "_userInputKeywordChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 800,
              "column": 2
            },
            "end": {
              "line": 805,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "_userInputKeyword"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "fetchByKeyword",
          "description": "query by Keyword",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 812,
              "column": 2
            },
            "end": {
              "line": 837,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "Promise.<void>"
          }
        },
        {
          "name": "fetchSelectedValues",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 839,
              "column": 2
            },
            "end": {
              "line": 854,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "_selectedValuesChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 856,
              "column": 2
            },
            "end": {
              "line": 867,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_valueChanged",
          "description": "value属性变化监听函数",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 872,
              "column": 2
            },
            "end": {
              "line": 895,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ]
        },
        {
          "name": "_selectItemAt",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 897,
              "column": 2
            },
            "end": {
              "line": 902,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "index"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_selectItem",
          "description": "选择选项",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 908,
              "column": 2
            },
            "end": {
              "line": 921,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_switchFocusItemAt",
          "description": "切换焦点到第n个元素，从0开始",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 928,
              "column": 2
            },
            "end": {
              "line": 941,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "index"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_isPickerCollapseHidden",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 943,
              "column": 2
            },
            "end": {
              "line": 945,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "__openCollapse",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 947,
              "column": 2
            },
            "end": {
              "line": 951,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  target: {\n    classList\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__inputFocus",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 953,
              "column": 2
            },
            "end": {
              "line": 958,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "__getElemPos",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 960,
              "column": 2
            },
            "end": {
              "line": 966,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "obj"
            }
          ]
        },
        {
          "name": "__focusOnKeywordInput",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 968,
              "column": 2
            },
            "end": {
              "line": 970,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_selectCollapseItem",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 972,
              "column": 2
            },
            "end": {
              "line": 977,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "event"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_keyDownHandler",
          "description": "输入框键盘按键事件",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 984,
              "column": 2
            },
            "end": {
              "line": 1026,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "event"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_loadPinyinKeys",
          "description": "给对象根据fieldsForIndex给对应的字段做拼音缓存（字段值，字段值全拼和拼音首字母）",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 1031,
              "column": 2
            },
            "end": {
              "line": 1051,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "item"
            },
            {
              "name": "fieldsForIndex",
              "defaultValue": "[]"
            }
          ]
        },
        {
          "name": "deleteLastTag",
          "description": "Delete the last selected tag.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 1056,
              "column": 2
            },
            "end": {
              "line": 1060,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_deleteTag",
          "description": "删除Tag项，事件处理函数",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 1065,
              "column": 2
            },
            "end": {
              "line": 1071,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_getHotKey",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 1073,
              "column": 2
            },
            "end": {
              "line": 1075,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "index"
            }
          ]
        },
        {
          "name": "displayCollapse",
          "description": "Open or close the collapse",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 1081,
              "column": 2
            },
            "end": {
              "line": 1083,
              "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": 1088,
              "column": 2
            },
            "end": {
              "line": 1092,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "doFocus",
          "description": "Set focus to picker.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 1097,
              "column": 2
            },
            "end": {
              "line": 1099,
              "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": 1105,
              "column": 2
            },
            "end": {
              "line": 1107,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        },
        {
          "name": "__isViewChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 1109,
              "column": 2
            },
            "end": {
              "line": 1111,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isView"
            },
            {
              "name": "readonly"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_isView",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 1113,
              "column": 2
            },
            "end": {
              "line": 1115,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isView"
            },
            {
              "name": "readonly"
            }
          ]
        },
        {
          "name": "_permissionChange",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 1117,
              "column": 2
            },
            "end": {
              "line": 1119,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "permission"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "clear",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 1121,
              "column": 2
            },
            "end": {
              "line": 1124,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-picker/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 58,
          "column": 0
        },
        "end": {
          "line": 1125,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuPicker",
      "attributes": [
        {
          "name": "label",
          "description": "The label of the picker.",
          "sourceRange": {
            "start": {
              "line": 384,
              "column": 6
            },
            "end": {
              "line": 386,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "placeholder",
          "description": "The placeholder of the select.",
          "sourceRange": {
            "start": {
              "line": 391,
              "column": 6
            },
            "end": {
              "line": 393,
              "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": 400,
              "column": 6
            },
            "end": {
              "line": 403,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "selected-values",
          "description": "The selected value objects of this select.",
          "sourceRange": {
            "start": {
              "line": 408,
              "column": 6
            },
            "end": {
              "line": 411,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "selected-item",
          "description": "The selected item.",
          "sourceRange": {
            "start": {
              "line": 416,
              "column": 6
            },
            "end": {
              "line": 419,
              "column": 7
            }
          },
          "metadata": {},
          "type": "object"
        },
        {
          "name": "query-by-keyword-url",
          "description": "A url for searching data with user input keywords, the response data of the request should be json.",
          "sourceRange": {
            "start": {
              "line": 424,
              "column": 6
            },
            "end": {
              "line": 426,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "query-by-value-url",
          "description": "A url for fetching data by value, the response data of the request should be json.",
          "sourceRange": {
            "start": {
              "line": 431,
              "column": 6
            },
            "end": {
              "line": 433,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "items",
          "description": "The candidate selection of this picker.",
          "sourceRange": {
            "start": {
              "line": 438,
              "column": 6
            },
            "end": {
              "line": 440,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "fields-for-index",
          "description": "Fields to build index for pinyin plugin.",
          "sourceRange": {
            "start": {
              "line": 460,
              "column": 6
            },
            "end": {
              "line": 462,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "picker-meta",
          "description": "The fields shown in the drop-down panel，default: [{\"field\": \"label\", \"label\": \"选项\"}]",
          "sourceRange": {
            "start": {
              "line": 468,
              "column": 6
            },
            "end": {
              "line": 473,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "attr-for-value",
          "description": "Attribute name for value.",
          "sourceRange": {
            "start": {
              "line": 479,
              "column": 6
            },
            "end": {
              "line": 482,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "attr-for-label",
          "description": "Attribute name for label.",
          "sourceRange": {
            "start": {
              "line": 488,
              "column": 6
            },
            "end": {
              "line": 491,
              "column": 7
            }
          },
          "metadata": {},
          "type": "object"
        },
        {
          "name": "disable-pinyin-search",
          "description": "Whether to disable pinyin search or not",
          "sourceRange": {
            "start": {
              "line": 498,
              "column": 6
            },
            "end": {
              "line": 501,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "required",
          "description": "Set to true, if the selection is required.",
          "sourceRange": {
            "start": {
              "line": 508,
              "column": 6
            },
            "end": {
              "line": 512,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the picker is readonly.",
          "sourceRange": {
            "start": {
              "line": 518,
              "column": 6
            },
            "end": {
              "line": 522,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "multi",
          "description": "If true, multiple selections are allowed.",
          "sourceRange": {
            "start": {
              "line": 528,
              "column": 6
            },
            "end": {
              "line": 531,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "enable-hotkey",
          "description": "If true, hotkeys for selecting items are allowed.",
          "sourceRange": {
            "start": {
              "line": 544,
              "column": 6
            },
            "end": {
              "line": 547,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "multi-limit",
          "description": "The limit number that customers can choose if the selection is multiple.",
          "sourceRange": {
            "start": {
              "line": 554,
              "column": 6
            },
            "end": {
              "line": 556,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "fetch-param",
          "description": "url`s params",
          "sourceRange": {
            "start": {
              "line": 562,
              "column": 6
            },
            "end": {
              "line": 564,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object"
        },
        {
          "name": "keyword-path",
          "description": "queryByKeywordUrl query params name ,default 'keyword',such as `/queryBykeyword?keyword = `",
          "sourceRange": {
            "start": {
              "line": 569,
              "column": 6
            },
            "end": {
              "line": 572,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "value-path",
          "description": "queryByValueUrl query params name,default 'ids',such as `/queryByValues?ids = `",
          "sourceRange": {
            "start": {
              "line": 576,
              "column": 6
            },
            "end": {
              "line": 579,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "result-path",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 581,
              "column": 6
            },
            "end": {
              "line": 583,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "shortcut-key",
          "description": "shortcut key",
          "sourceRange": {
            "start": {
              "line": 589,
              "column": 6
            },
            "end": {
              "line": 592,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "input-chinese",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 593,
              "column": 6
            },
            "end": {
              "line": 593,
              "column": 27
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "prompt",
          "description": "The prompt tip to show when input is invalid.",
          "sourceRange": {
            "start": {
              "line": 598,
              "column": 6
            },
            "end": {
              "line": 600,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "prompt-position",
          "description": "The prompt tip's position. top/bottom",
          "sourceRange": {
            "start": {
              "line": 606,
              "column": 6
            },
            "end": {
              "line": 609,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "method",
          "description": "The mode of the request, eg: POST/GET",
          "sourceRange": {
            "start": {
              "line": 615,
              "column": 6
            },
            "end": {
              "line": 618,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "is-view",
          "description": "The text mode display requires readonly=true to take effect",
          "sourceRange": {
            "start": {
              "line": 624,
              "column": 6
            },
            "end": {
              "line": 627,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "join-connector",
          "description": "The connector to connect labels when the isView=true, eg: \"苹果，香蕉，梨\"",
          "sourceRange": {
            "start": {
              "line": 633,
              "column": 6
            },
            "end": {
              "line": 636,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "hidden",
          "description": "If true hides the component， default false",
          "sourceRange": {
            "start": {
              "line": 640,
              "column": 6
            },
            "end": {
              "line": 644,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "permission",
          "description": "If you do not have permissions, the component does not display",
          "sourceRange": {
            "start": {
              "line": 650,
              "column": 6
            },
            "end": {
              "line": 654,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "headers",
          "description": "Ajax headers",
          "sourceRange": {
            "start": {
              "line": 660,
              "column": 6
            },
            "end": {
              "line": 662,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "zero-is-value",
          "description": "0 是否为有效value值，默认为否",
          "sourceRange": {
            "start": {
              "line": 666,
              "column": 6
            },
            "end": {
              "line": 669,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "display-items-length",
          "description": "选择选项的长度，默认10",
          "sourceRange": {
            "start": {
              "line": 673,
              "column": 6
            },
            "end": {
              "line": 676,
              "column": 7
            }
          },
          "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-picker"
    },
    {
      "description": "Example:\r\n ```html\r\n  <isu-progress percentage=\"50\" show-text></isu-progress>\r\n  <isu-progress percentage=\"100\" show-text status=\"success\"></isu-progress>\r\n  <isu-progress percentage=\"100\" show-text status=\"warning\"></isu-progress>\r\n  <isu-progress percentage=\"50\" show-text status=\"exception\"></isu-progress>\r\n  <isu-progress stroke-width=\"24\" percentage=\"100\" show-text status=\"success\"></isu-progress>\r\n  <isu-progress percentage=\"20\" color=\"#000\" show-text></isu-progress>\r\n  <isu-progress type=\"circle\" percentage=\"0\" show-text></isu-progress>\r\n  <isu-progress type=\"circle\" percentage=\"25\" show-text></isu-progress>\r\n  <isu-progress type=\"circle\" percentage=\"100\" status=\"success\" show-text></isu-progress>\r\n  <isu-progress type=\"circle\" percentage=\"70\" status=\"warning\" show-text></isu-progress>\r\n  <isu-progress type=\"circle\" percentage=\"50\" status=\"exception\" show-text></isu-progress>\r\n  <isu-progress type=\"dashboard\" percentage=\"0\" show-text></isu-progress>\r\n  <isu-progress type=\"dashboard\" percentage=\"25\" show-text></isu-progress>\r\n  <isu-progress type=\"dashboard\" percentage=\"100\" status=\"success\" show-text></isu-progress>\r\n  <isu-progress type=\"dashboard\" percentage=\"70\" status=\"warning\" show-text></isu-progress>\r\n  <isu-progress type=\"dashboard\" percentage=\"50\" status=\"exception\" show-text></isu-progress>\r\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": 179,
              "column": 6
            },
            "end": {
              "line": 179,
              "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": 1331,
              "column": 6
            },
            "end": {
              "line": 1331,
              "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": 1333,
              "column": 6
            },
            "end": {
              "line": 1333,
              "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": 1335,
              "column": 6
            },
            "end": {
              "line": 1335,
              "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": 1337,
              "column": 6
            },
            "end": {
              "line": 1337,
              "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": 1339,
              "column": 6
            },
            "end": {
              "line": 1339,
              "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": 1341,
              "column": 6
            },
            "end": {
              "line": 1341,
              "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": 1343,
              "column": 6
            },
            "end": {
              "line": 1343,
              "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": 1345,
              "column": 6
            },
            "end": {
              "line": 1345,
              "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": 1347,
              "column": 6
            },
            "end": {
              "line": 1347,
              "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": 1349,
              "column": 6
            },
            "end": {
              "line": 1349,
              "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": 1351,
              "column": 6
            },
            "end": {
              "line": 1351,
              "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": 1353,
              "column": 6
            },
            "end": {
              "line": 1353,
              "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": 1355,
              "column": 6
            },
            "end": {
              "line": 1355,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__computeInfo",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1357,
              "column": 6
            },
            "end": {
              "line": 1357,
              "column": 25
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__reflectEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1359,
              "column": 6
            },
            "end": {
              "line": 1359,
              "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": 1361,
              "column": 6
            },
            "end": {
              "line": 1361,
              "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": 1363,
              "column": 6
            },
            "end": {
              "line": 1363,
              "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": 1365,
              "column": 6
            },
            "end": {
              "line": 1365,
              "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": 1367,
              "column": 6
            },
            "end": {
              "line": 1367,
              "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": 1369,
              "column": 6
            },
            "end": {
              "line": 1369,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_overrideLegacyUndefined",
          "type": "boolean",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1371,
              "column": 6
            },
            "end": {
              "line": 1371,
              "column": 36
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "PROPERTY_EFFECT_TYPES",
          "type": "?",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1374,
              "column": 4
            },
            "end": {
              "line": 1376,
              "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": 558,
              "column": 6
            },
            "end": {
              "line": 558,
              "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": 560,
              "column": 6
            },
            "end": {
              "line": 560,
              "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": 562,
              "column": 6
            },
            "end": {
              "line": 562,
              "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": 564,
              "column": 6
            },
            "end": {
              "line": 564,
              "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": 566,
              "column": 6
            },
            "end": {
              "line": 566,
              "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": 568,
              "column": 6
            },
            "end": {
              "line": 568,
              "column": 13
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "type",
          "type": "string",
          "description": "Progress bar type, the value must be one of line, dashboard, circle",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 152,
              "column": 6
            },
            "end": {
              "line": 156,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"onTypeChange\"",
              "attributeType": "String"
            }
          },
          "defaultValue": "\"line\""
        },
        {
          "name": "percentage",
          "type": "Number",
          "description": "Progress bar value",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 162,
              "column": 6
            },
            "end": {
              "line": 166,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"onPercentageChange\"",
              "attributeType": "Number"
            }
          },
          "defaultValue": "0"
        },
        {
          "name": "strokeWidth",
          "type": "Number",
          "description": "Progress bar width",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 172,
              "column": 6
            },
            "end": {
              "line": 175,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "6"
        },
        {
          "name": "status",
          "type": "string",
          "description": "Progress bar, the value must be one of success, exception, warning",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 184,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"onStatusChange\"",
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "color",
          "type": "string",
          "description": "Progress bar background color",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 189,
              "column": 6
            },
            "end": {
              "line": 191,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "width",
          "type": "Number",
          "description": "Circular progress bar width",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 197,
              "column": 6
            },
            "end": {
              "line": 200,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "126"
        },
        {
          "name": "showText",
          "type": "Boolean",
          "description": "Whether to display the progress bar value",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 206,
              "column": 6
            },
            "end": {
              "line": 209,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "relativeStrokeWidth",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 210,
              "column": 6
            },
            "end": {
              "line": 213,
              "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": 2783,
              "column": 4
            },
            "end": {
              "line": 2816,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template to stamp"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo=",
              "description": "Optional bound template info associated\n  with the template to be stamped; if omitted the template will be\n  automatically bound."
            }
          ],
          "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": 537,
              "column": 4
            },
            "end": {
              "line": 542,
              "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": 553,
              "column": 4
            },
            "end": {
              "line": 555,
              "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": 566,
              "column": 4
            },
            "end": {
              "line": 568,
              "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": 148,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "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": 157,
              "column": 5
            },
            "end": {
              "line": 174,
              "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": 688,
              "column": 4
            },
            "end": {
              "line": 694,
              "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": 583,
              "column": 4
            },
            "end": {
              "line": 612,
              "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": 250,
              "column": 4
            },
            "end": {
              "line": 252,
              "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": 264,
              "column": 4
            },
            "end": {
              "line": 268,
              "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": 277,
              "column": 4
            },
            "end": {
              "line": 279,
              "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": 295,
              "column": 4
            },
            "end": {
              "line": 311,
              "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": "_isPropertyPending",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 318,
              "column": 4
            },
            "end": {
              "line": 320,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property is pending."
          },
          "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": 330,
              "column": 4
            },
            "end": {
              "line": 340,
              "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": 354,
              "column": 4
            },
            "end": {
              "line": 363,
              "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": 375,
              "column": 4
            },
            "end": {
              "line": 386,
              "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": 401,
              "column": 4
            },
            "end": {
              "line": 403,
              "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": 418,
              "column": 4
            },
            "end": {
              "line": 419,
              "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": 440,
              "column": 4
            },
            "end": {
              "line": 447,
              "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": 461,
              "column": 4
            },
            "end": {
              "line": 468,
              "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": 483,
              "column": 4
            },
            "end": {
              "line": 490,
              "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": 503,
              "column": 4
            },
            "end": {
              "line": 509,
              "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": 525,
              "column": 4
            },
            "end": {
              "line": 535,
              "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": 549,
              "column": 4
            },
            "end": {
              "line": 556,
              "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": 571,
              "column": 4
            },
            "end": {
              "line": 580,
              "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": 1416,
              "column": 4
            },
            "end": {
              "line": 1420,
              "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": "_registerHost",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1397,
              "column": 4
            },
            "end": {
              "line": 1405,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "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": 1455,
              "column": 4
            },
            "end": {
              "line": 1463,
              "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": 1474,
              "column": 4
            },
            "end": {
              "line": 1480,
              "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": 1493,
              "column": 4
            },
            "end": {
              "line": 1496,
              "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": 1508,
              "column": 4
            },
            "end": {
              "line": 1510,
              "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": 1522,
              "column": 4
            },
            "end": {
              "line": 1524,
              "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": 1536,
              "column": 4
            },
            "end": {
              "line": 1538,
              "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": 1550,
              "column": 4
            },
            "end": {
              "line": 1552,
              "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": 1585,
              "column": 4
            },
            "end": {
              "line": 1617,
              "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": 1641,
              "column": 4
            },
            "end": {
              "line": 1653,
              "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": 1761,
              "column": 4
            },
            "end": {
              "line": 1766,
              "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": 1776,
              "column": 4
            },
            "end": {
              "line": 1787,
              "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": 1801,
              "column": 4
            },
            "end": {
              "line": 1814,
              "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": 706,
              "column": 4
            },
            "end": {
              "line": 715,
              "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": 1845,
              "column": 4
            },
            "end": {
              "line": 1856,
              "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": 1946,
              "column": 4
            },
            "end": {
              "line": 1953,
              "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": "_runEffectsForTemplate",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1955,
              "column": 4
            },
            "end": {
              "line": 1968,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "templateInfo"
            },
            {
              "name": "changedProps"
            },
            {
              "name": "oldProps"
            },
            {
              "name": "hasPaths"
            }
          ],
          "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": 1980,
              "column": 4
            },
            "end": {
              "line": 1985,
              "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": 1998,
              "column": 4
            },
            "end": {
              "line": 2003,
              "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": 2039,
              "column": 4
            },
            "end": {
              "line": 2043,
              "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": 2065,
              "column": 4
            },
            "end": {
              "line": 2067,
              "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": 2091,
              "column": 4
            },
            "end": {
              "line": 2101,
              "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": 2118,
              "column": 4
            },
            "end": {
              "line": 2127,
              "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": 2143,
              "column": 4
            },
            "end": {
              "line": 2152,
              "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": 2172,
              "column": 4
            },
            "end": {
              "line": 2209,
              "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": 2225,
              "column": 4
            },
            "end": {
              "line": 2234,
              "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": 2251,
              "column": 4
            },
            "end": {
              "line": 2259,
              "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": 2275,
              "column": 4
            },
            "end": {
              "line": 2292,
              "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": 2306,
              "column": 4
            },
            "end": {
              "line": 2313,
              "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": 2329,
              "column": 4
            },
            "end": {
              "line": 2339,
              "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": 2353,
              "column": 4
            },
            "end": {
              "line": 2359,
              "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": 2371,
              "column": 4
            },
            "end": {
              "line": 2379,
              "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": 2392,
              "column": 4
            },
            "end": {
              "line": 2405,
              "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": 2420,
              "column": 4
            },
            "end": {
              "line": 2429,
              "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": 2444,
              "column": 4
            },
            "end": {
              "line": 2470,
              "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 an instance\nto add effects at runtime.  See that method for full 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": 2690,
              "column": 4
            },
            "end": {
              "line": 2736,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template containing binding\nbindings"
            },
            {
              "name": "instanceBinding",
              "type": "boolean=",
              "description": "When false (default), performs\n\"prototypical\" binding of the template and overwrites any previously\nbound template for the class. When true (as passed from\n`_stampTemplate`), the template info is instanced and linked into the\nlist of bound templates."
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Template metadata object; for `runtimeBinding`,\nthis 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": 2828,
              "column": 4
            },
            "end": {
              "line": 2852,
              "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": 675,
              "column": 4
            },
            "end": {
              "line": 680,
              "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": "_canApplyPropertyDefault",
          "description": "Determines if a property dfeault can be applied. For example, this\nprevents a default from being applied when a property that has no\naccessor is overridden by its host before upgrade (e.g. via a binding).",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 622,
              "column": 4
            },
            "end": {
              "line": 624,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property default can be applied."
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "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": 730,
              "column": 4
            },
            "end": {
              "line": 755,
              "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": 779,
              "column": 4
            },
            "end": {
              "line": 783,
              "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": 801,
              "column": 4
            },
            "end": {
              "line": 806,
              "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": 217,
              "column": 2
            },
            "end": {
              "line": 219,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "type"
            },
            {
              "name": "status"
            }
          ]
        },
        {
          "name": "getStrokeColor",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 221,
              "column": 2
            },
            "end": {
              "line": 232,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "color"
            },
            {
              "name": "status"
            }
          ]
        },
        {
          "name": "getCircleParameter",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 234,
              "column": 2
            },
            "end": {
              "line": 244,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "trailPathStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 246,
              "column": 2
            },
            "end": {
              "line": 249,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "circlePathStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 251,
              "column": 2
            },
            "end": {
              "line": 258,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "computedWidth",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 260,
              "column": 2
            },
            "end": {
              "line": 262,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "width"
            },
            {
              "name": "strokeWidth"
            }
          ]
        },
        {
          "name": "trackPath",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 264,
              "column": 2
            },
            "end": {
              "line": 273,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "getCircleStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 275,
              "column": 2
            },
            "end": {
              "line": 277,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "width"
            }
          ]
        },
        {
          "name": "getStatusIconStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 279,
              "column": 2
            },
            "end": {
              "line": 289,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "status"
            }
          ]
        },
        {
          "name": "getStatusIconText",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 291,
              "column": 2
            },
            "end": {
              "line": 298,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "status"
            }
          ]
        },
        {
          "name": "getInnerBarStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 300,
              "column": 2
            },
            "end": {
              "line": 308,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "percentage"
            }
          ]
        },
        {
          "name": "getOuterBarStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 310,
              "column": 2
            },
            "end": {
              "line": 312,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "strokeWidth"
            }
          ]
        },
        {
          "name": "isShowStatus",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 314,
              "column": 2
            },
            "end": {
              "line": 317,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "status"
            },
            {
              "name": "showType"
            }
          ]
        },
        {
          "name": "isShowProgress",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 319,
              "column": 2
            },
            "end": {
              "line": 321,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "type"
            },
            {
              "name": "showType"
            }
          ]
        },
        {
          "name": "onTypeChange",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 323,
              "column": 2
            },
            "end": {
              "line": 328,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "type"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "onPercentageChange",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 330,
              "column": 2
            },
            "end": {
              "line": 334,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "percentage"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "onStatusChange",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 336,
              "column": 2
            },
            "end": {
              "line": 341,
              "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": 247,
              "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": 821,
              "column": 4
            },
            "end": {
              "line": 827,
              "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": 2871,
              "column": 4
            },
            "end": {
              "line": 2888,
              "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": 327,
              "column": 4
            },
            "end": {
              "line": 365,
              "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": 2978,
              "column": 4
            },
            "end": {
              "line": 3028,
              "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": 408,
              "column": 4
            },
            "end": {
              "line": 417,
              "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": 2909,
              "column": 4
            },
            "end": {
              "line": 2962,
              "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": 465,
              "column": 4
            },
            "end": {
              "line": 468,
              "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": 408,
              "column": 4
            },
            "end": {
              "line": 413,
              "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": 2511,
              "column": 4
            },
            "end": {
              "line": 2513,
              "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": 2526,
              "column": 4
            },
            "end": {
              "line": 2528,
              "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": 2544,
              "column": 4
            },
            "end": {
              "line": 2546,
              "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": 2557,
              "column": 4
            },
            "end": {
              "line": 2559,
              "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": 2578,
              "column": 4
            },
            "end": {
              "line": 2580,
              "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": 2591,
              "column": 4
            },
            "end": {
              "line": 2593,
              "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": 2610,
              "column": 4
            },
            "end": {
              "line": 2612,
              "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": 2627,
              "column": 4
            },
            "end": {
              "line": 2629,
              "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": 841,
              "column": 4
            },
            "end": {
              "line": 866,
              "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": 3075,
              "column": 4
            },
            "end": {
              "line": 3140,
              "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": 3157,
              "column": 4
            },
            "end": {
              "line": 3174,
              "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": 372,
              "column": 4
            },
            "end": {
              "line": 381,
              "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": 384,
              "column": 4
            },
            "end": {
              "line": 398,
              "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": 427,
              "column": 4
            },
            "end": {
              "line": 432,
              "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": 635,
              "column": 4
            },
            "end": {
              "line": 637,
              "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": 649,
              "column": 4
            },
            "end": {
              "line": 660,
              "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": 27,
          "column": 0
        },
        "end": {
          "line": 342,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "PolymerElement",
      "name": "IsuProgress",
      "attributes": [
        {
          "name": "type",
          "description": "Progress bar type, the value must be one of line, dashboard, circle",
          "sourceRange": {
            "start": {
              "line": 152,
              "column": 6
            },
            "end": {
              "line": 156,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "percentage",
          "description": "Progress bar value",
          "sourceRange": {
            "start": {
              "line": 162,
              "column": 6
            },
            "end": {
              "line": 166,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Number"
        },
        {
          "name": "stroke-width",
          "description": "Progress bar width",
          "sourceRange": {
            "start": {
              "line": 172,
              "column": 6
            },
            "end": {
              "line": 175,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Number"
        },
        {
          "name": "status",
          "description": "Progress bar, the value must be one of success, exception, warning",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 184,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "color",
          "description": "Progress bar background color",
          "sourceRange": {
            "start": {
              "line": 189,
              "column": 6
            },
            "end": {
              "line": 191,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "width",
          "description": "Circular progress bar width",
          "sourceRange": {
            "start": {
              "line": 197,
              "column": 6
            },
            "end": {
              "line": 200,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Number"
        },
        {
          "name": "show-text",
          "description": "Whether to display the progress bar value",
          "sourceRange": {
            "start": {
              "line": 206,
              "column": 6
            },
            "end": {
              "line": 209,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Boolean"
        },
        {
          "name": "relative-stroke-width",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 210,
              "column": 6
            },
            "end": {
              "line": 213,
              "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 label=\"性别\" value=1></isu-radio>\n<isu-radio 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\n<isu-radio label=\"姓名\" attr-for-value=\"id\" attr-for-label=\"name\" value=\"1\" readonly></isu-radio>\n<isu-radio label=\"姓名\" attr-for-value=\"id\" attr-for-label=\"name\" required></isu-radio>\n```",
      "summary": "",
      "path": "isu-radio.js",
      "properties": [
        {
          "name": "label",
          "type": "string",
          "description": "The label of the radio.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 122,
              "column": 6
            },
            "end": {
              "line": 124,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "value",
          "type": "string",
          "description": "The selected value of radio group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 130,
              "column": 6
            },
            "end": {
              "line": 133,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "items",
          "type": "array",
          "description": "Candidates of the radio group.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 6
            },
            "end": {
              "line": 141,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true, if the selection is required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 147,
              "column": 6
            },
            "end": {
              "line": 151,
              "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": 157,
              "column": 6
            },
            "end": {
              "line": 161,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "attrForValue",
          "type": "string",
          "description": "Attribute name for value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 167,
              "column": 6
            },
            "end": {
              "line": 170,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"value\""
        },
        {
          "name": "attrForLabel",
          "type": "string",
          "description": "Attribute name for label.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 176,
              "column": 6
            },
            "end": {
              "line": 179,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "hidden",
          "type": "boolean | null | undefined",
          "description": "If true hides the component， default false",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 183,
              "column": 6
            },
            "end": {
              "line": 187,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "permission",
          "type": "boolean | null | undefined",
          "description": "If you do not have permissions, the component does not display",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 197,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_permissionChange\"",
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "textValue",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 198,
              "column": 6
            },
            "end": {
              "line": 202,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "readOnly": true,
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_requiredChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 216,
              "column": 2
            },
            "end": {
              "line": 221,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            },
            {
              "name": "required"
            },
            {
              "name": "items",
              "defaultValue": "[]"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__textValueComputed",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 223,
              "column": 2
            },
            "end": {
              "line": 231,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            },
            {
              "name": "items"
            }
          ]
        },
        {
          "name": "_permissionChange",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 233,
              "column": 2
            },
            "end": {
              "line": 235,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "permission"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "itemSelected",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 237,
              "column": 2
            },
            "end": {
              "line": 240,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "validate",
          "description": "Always return true.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 246,
              "column": 2
            },
            "end": {
              "line": 248,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-radio/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 26,
          "column": 0
        },
        "end": {
          "line": 249,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuRadio",
      "attributes": [
        {
          "name": "label",
          "description": "The label of the radio.",
          "sourceRange": {
            "start": {
              "line": 122,
              "column": 6
            },
            "end": {
              "line": 124,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "value",
          "description": "The selected value of radio group.",
          "sourceRange": {
            "start": {
              "line": 130,
              "column": 6
            },
            "end": {
              "line": 133,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "items",
          "description": "Candidates of the radio group.",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 6
            },
            "end": {
              "line": 141,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "required",
          "description": "Set to true, if the selection is required.",
          "sourceRange": {
            "start": {
              "line": 147,
              "column": 6
            },
            "end": {
              "line": 151,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the radio is readonly.",
          "sourceRange": {
            "start": {
              "line": 157,
              "column": 6
            },
            "end": {
              "line": 161,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "attr-for-value",
          "description": "Attribute name for value.",
          "sourceRange": {
            "start": {
              "line": 167,
              "column": 6
            },
            "end": {
              "line": 170,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "attr-for-label",
          "description": "Attribute name for label.",
          "sourceRange": {
            "start": {
              "line": 176,
              "column": 6
            },
            "end": {
              "line": 179,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "hidden",
          "description": "If true hides the component， default false",
          "sourceRange": {
            "start": {
              "line": 183,
              "column": 6
            },
            "end": {
              "line": 187,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "permission",
          "description": "If you do not have permissions, the component does not display",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 197,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "text-value",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 198,
              "column": 6
            },
            "end": {
              "line": 202,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "text-value-changed",
          "description": "Fired when the `textValue` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-radio"
    },
    {
      "description": "`isu-tree-node`\n\nExample:\n```html\n\n```",
      "summary": "",
      "path": "isu-tree-node.js",
      "properties": [
        {
          "name": "data",
          "type": "Object | null | undefined",
          "description": "存储Node节点data",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 142,
              "column": 6
            },
            "end": {
              "line": 144,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "selectedItems",
          "type": "array",
          "description": "选择的树节点集合",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 150,
              "column": 6
            },
            "end": {
              "line": 153,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "attrForValue",
          "type": "String",
          "description": "节点作为value值的属性，默认取id作为value值",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 159,
              "column": 6
            },
            "end": {
              "line": 162,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"id\""
        },
        {
          "name": "attrForLabel",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 163,
              "column": 6
            },
            "end": {
              "line": 166,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "rotate",
          "type": "number",
          "description": "The angle at which a triangle rotates",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 173,
              "column": 6
            },
            "end": {
              "line": 176,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "-90"
        },
        {
          "name": "multi",
          "type": "boolean",
          "description": "Whether to show checkbox or not",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 183,
              "column": 6
            },
            "end": {
              "line": 186,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "showRadio",
          "type": "boolean",
          "description": "Whether to show radio or not",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 196,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "accordion",
          "type": "boolean",
          "description": "Accordion mode, showing only one sibling node at a time",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 203,
              "column": 6
            },
            "end": {
              "line": 206,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "defaultExpandAll",
          "type": "boolean",
          "description": "Whether to expand all nodes by default",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 213,
              "column": 6
            },
            "end": {
              "line": 216,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "isShow",
          "type": "boolean | null | undefined",
          "description": "Operate the child element is closed or opened",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 220,
              "column": 6
            },
            "end": {
              "line": 223,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "indent",
          "type": "number",
          "description": "How many pixels are indented per layer.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 230,
              "column": 6
            },
            "end": {
              "line": 233,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "18"
        },
        {
          "name": "isFirst",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 234,
              "column": 6
            },
            "end": {
              "line": 237,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "searchWord",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 238,
              "column": 6
            },
            "end": {
              "line": 240,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "highlightedLabelFlag",
          "type": "boolean | null | undefined",
          "description": "是否高亮显示开关，如果是，搜索时候，匹配上的文本会高亮显示",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 244,
              "column": 6
            },
            "end": {
              "line": 247,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "pitchOn",
          "type": "string | null | undefined",
          "description": "checkOnClickNode 为true时候，选中的节点添加选中样式",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 251,
              "column": 6
            },
            "end": {
              "line": 254,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "icon",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 255,
              "column": 6
            },
            "end": {
              "line": 258,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"icons:arrow-drop-down\""
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 276,
              "column": 2
            },
            "end": {
              "line": 279,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__dataChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 281,
              "column": 2
            },
            "end": {
              "line": 288,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "data"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_childrenStatusChangedHandle",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 290,
              "column": 2
            },
            "end": {
              "line": 293,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_isFirst",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 295,
              "column": 2
            },
            "end": {
              "line": 300,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isFirst"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getHalfClass",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 302,
              "column": 2
            },
            "end": {
              "line": 305,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "indeterminate"
            }
          ]
        },
        {
          "name": "_searchWordChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 307,
              "column": 2
            },
            "end": {
              "line": 310,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "searchWord"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_highlightedLabel",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 312,
              "column": 2
            },
            "end": {
              "line": 328,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "searchWord"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_showNodeFilter",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 330,
              "column": 2
            },
            "end": {
              "line": 333,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "filterNode",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 335,
              "column": 2
            },
            "end": {
              "line": 350,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "searchWord"
            },
            {
              "name": "data"
            }
          ]
        },
        {
          "name": "_defaultExpandAllChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 352,
              "column": 2
            },
            "end": {
              "line": 357,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "defaultExpandAll"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_clickCheckOnClickNode",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 359,
              "column": 2
            },
            "end": {
              "line": 363,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "showNode",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 365,
              "column": 2
            },
            "end": {
              "line": 387,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ]
        },
        {
          "name": "_getIndentStyle",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 389,
              "column": 2
            },
            "end": {
              "line": 391,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "level"
            },
            {
              "name": "indent"
            }
          ]
        },
        {
          "name": "_getRotateStyle",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 393,
              "column": 2
            },
            "end": {
              "line": 395,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "rotate"
            }
          ]
        },
        {
          "name": "__checkedChangeHandler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 397,
              "column": 2
            },
            "end": {
              "line": 406,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__checkedRadioClickedHandler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 408,
              "column": 2
            },
            "end": {
              "line": 414,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__checkedClickedHandler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 416,
              "column": 2
            },
            "end": {
              "line": 423,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__pitchOn",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 425,
              "column": 2
            },
            "end": {
              "line": 429,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "multi"
            },
            {
              "name": "showRadio"
            },
            {
              "name": "selectedItems"
            }
          ]
        },
        {
          "name": "__selectedItemsChanged",
          "description": "根据selectedItems 的变化，来判断当前节点是否显示",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 436,
              "column": 2
            },
            "end": {
              "line": 439,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "selectedItems"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "queryCurNodeIsIndeterminate",
          "description": "判断当前节点是否中间状态",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 445,
              "column": 2
            },
            "end": {
              "line": 459,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "(boolean | boolean)"
          }
        },
        {
          "name": "queryCurNodeIsChecked",
          "description": "判断当前节点是否选中状态",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 466,
              "column": 2
            },
            "end": {
              "line": 482,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "selectedItems",
              "defaultValue": "[]"
            }
          ],
          "return": {
            "type": "boolean"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-tree/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 21,
          "column": 0
        },
        "end": {
          "line": 483,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuTreeNode",
      "attributes": [
        {
          "name": "data",
          "description": "存储Node节点data",
          "sourceRange": {
            "start": {
              "line": 142,
              "column": 6
            },
            "end": {
              "line": 144,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "selected-items",
          "description": "选择的树节点集合",
          "sourceRange": {
            "start": {
              "line": 150,
              "column": 6
            },
            "end": {
              "line": 153,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "attr-for-value",
          "description": "节点作为value值的属性，默认取id作为value值",
          "sourceRange": {
            "start": {
              "line": 159,
              "column": 6
            },
            "end": {
              "line": 162,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        },
        {
          "name": "attr-for-label",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 163,
              "column": 6
            },
            "end": {
              "line": 166,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "rotate",
          "description": "The angle at which a triangle rotates",
          "sourceRange": {
            "start": {
              "line": 173,
              "column": 6
            },
            "end": {
              "line": 176,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "multi",
          "description": "Whether to show checkbox or not",
          "sourceRange": {
            "start": {
              "line": 183,
              "column": 6
            },
            "end": {
              "line": 186,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "show-radio",
          "description": "Whether to show radio or not",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 196,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "accordion",
          "description": "Accordion mode, showing only one sibling node at a time",
          "sourceRange": {
            "start": {
              "line": 203,
              "column": 6
            },
            "end": {
              "line": 206,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "default-expand-all",
          "description": "Whether to expand all nodes by default",
          "sourceRange": {
            "start": {
              "line": 213,
              "column": 6
            },
            "end": {
              "line": 216,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "is-show",
          "description": "Operate the child element is closed or opened",
          "sourceRange": {
            "start": {
              "line": 220,
              "column": 6
            },
            "end": {
              "line": 223,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "indent",
          "description": "How many pixels are indented per layer.",
          "sourceRange": {
            "start": {
              "line": 230,
              "column": 6
            },
            "end": {
              "line": 233,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "is-first",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 234,
              "column": 6
            },
            "end": {
              "line": 237,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "search-word",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 238,
              "column": 6
            },
            "end": {
              "line": 240,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "highlighted-label-flag",
          "description": "是否高亮显示开关，如果是，搜索时候，匹配上的文本会高亮显示",
          "sourceRange": {
            "start": {
              "line": 244,
              "column": 6
            },
            "end": {
              "line": 247,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "pitch-on",
          "description": "checkOnClickNode 为true时候，选中的节点添加选中样式",
          "sourceRange": {
            "start": {
              "line": 251,
              "column": 6
            },
            "end": {
              "line": 254,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "icon",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 255,
              "column": 6
            },
            "end": {
              "line": 258,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "selected-items-changed",
          "description": "Fired when the `selectedItems` 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\" multi></isu-tree>\n   <h4>单选</h4>\n   <isu-tree id=\"tree3\" show-radio></isu-tree>\n   <h4>可以进行搜索</h4>\n   <isu-tree id=\"tree5\" multi show-search-input></isu-tree>\n   <h4>手风琴模式，一次只展开一个同级列表</h4>\n   <isu-tree id=\"tree6\" multi accordion></isu-tree>\n   <h4>展开所有节点</h4>\n   <isu-tree id=\"tree7\" multi default-expand-all></isu-tree>\n   <h4>默认选中部分值</h4>\n   <isu-tree id=\"tree9\" multi></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",
          "description": "原据源，为树结构的数组",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 119,
              "column": 6
            },
            "end": {
              "line": 121,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "dataSet",
          "type": "Array | null | undefined",
          "description": "存储树转Array后的数据集合",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 125,
              "column": 6
            },
            "end": {
              "line": 127,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "attrForChild",
          "type": "String",
          "description": "树结构数据子节点的属性，默认为children",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 133,
              "column": 6
            },
            "end": {
              "line": 135,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "attrForValue",
          "type": "String",
          "description": "节点作为value值的属性，默认取id作为value值",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 141,
              "column": 6
            },
            "end": {
              "line": 144,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"id\""
        },
        {
          "name": "attrForLabel",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 145,
              "column": 6
            },
            "end": {
              "line": 148,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "showSearchInput",
          "type": "boolean",
          "description": "Whether to require a query input box or not",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 155,
              "column": 6
            },
            "end": {
              "line": 158,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "value",
          "type": "string | null | undefined",
          "description": "The selected value of this select tree",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 162,
              "column": 6
            },
            "end": {
              "line": 165,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "selectedItems",
          "type": "array",
          "description": "选择的树节点集合",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 171,
              "column": 6
            },
            "end": {
              "line": 174,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "filterFn",
          "type": "Function | null | undefined",
          "description": "对选中数据结果进行处理的函数",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 178,
              "column": 6
            },
            "end": {
              "line": 180,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Function"
            }
          }
        },
        {
          "name": "onlySelectLevel",
          "type": "string | null | undefined",
          "description": "过滤属性，对选中的结果集进行处理，过滤选中结果集只为指定层级的数据，与filterFn并行使用且优先于filterFn,eg: '2,3'",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 184,
              "column": 6
            },
            "end": {
              "line": 186,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "filterSelectedItems",
          "type": "Array | null | undefined",
          "description": "经过onlySelectLevel、filterFn处理过后的结果集合",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 190,
              "column": 6
            },
            "end": {
              "line": 194,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "readOnly": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "filterValue",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 195,
              "column": 6
            },
            "end": {
              "line": 199,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "readOnly": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "initFilterValue",
          "type": "string | null | undefined",
          "description": "仅做初始化数据使用\n应用场景，通过filterValue回显数据",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 204,
              "column": 6
            },
            "end": {
              "line": 206,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "multi",
          "type": "boolean",
          "description": "是否多选",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 213,
              "column": 6
            },
            "end": {
              "line": 216,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "showRadio",
          "type": "boolean",
          "description": "Whether to show radio or not",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 223,
              "column": 6
            },
            "end": {
              "line": 226,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "defaultExpandAll",
          "type": "boolean",
          "description": "Whether to expand all nodes by default",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 233,
              "column": 6
            },
            "end": {
              "line": 236,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "accordion",
          "type": "boolean",
          "description": "Accordion mode, showing only one sibling node at a time",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 243,
              "column": 6
            },
            "end": {
              "line": 246,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "indent",
          "type": "number",
          "description": "How many pixels are indented per layer.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 253,
              "column": 6
            },
            "end": {
              "line": 257,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "18"
        },
        {
          "name": "isTree",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 258,
              "column": 6
            },
            "end": {
              "line": 261,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "props",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 262,
              "column": 6
            },
            "end": {
              "line": 271,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "searchWord",
          "type": "string",
          "description": "The search word",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 277,
              "column": 6
            },
            "end": {
              "line": 280,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "isRenderNodes",
          "type": "boolean | null | undefined",
          "description": "是否渲染树节点，默认为true\n设置为false时候，树节点不进行渲染，\nisu-select-tree-new 通过该属性，控制树的渲染",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 286,
              "column": 6
            },
            "end": {
              "line": 289,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "icon",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 290,
              "column": 6
            },
            "end": {
              "line": 293,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"icons:arrow-drop-down\""
        }
      ],
      "methods": [
        {
          "name": "__initData",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 312,
              "column": 2
            },
            "end": {
              "line": 341,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "data"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__valueChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 343,
              "column": 2
            },
            "end": {
              "line": 356,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_dataSetChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 358,
              "column": 2
            },
            "end": {
              "line": 362,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "dataSet"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__selectedItemsChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 364,
              "column": 2
            },
            "end": {
              "line": 368,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "selectedItems"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__filterSelectedItemsComputed",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 370,
              "column": 2
            },
            "end": {
              "line": 380,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "selectedItems"
            },
            {
              "name": "onlySelectLevel"
            },
            {
              "name": "filterFn"
            }
          ]
        },
        {
          "name": "__filterValueComputed",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 382,
              "column": 2
            },
            "end": {
              "line": 387,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "filterSelectedItems"
            }
          ]
        },
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 389,
              "column": 2
            },
            "end": {
              "line": 394,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_multipleCheckChangedHandle",
          "description": "多选，多选框变化处理器",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 401,
              "column": 2
            },
            "end": {
              "line": 414,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_multipleClickCheckChangedHandle",
          "description": "多选，多选框点击处理器",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 421,
              "column": 2
            },
            "end": {
              "line": 446,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_singleCheckedChangedHandle",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 448,
              "column": 2
            },
            "end": {
              "line": 459,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_isFirst",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 461,
              "column": 2
            },
            "end": {
              "line": 463,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "index"
            }
          ]
        },
        {
          "name": "_initValue",
          "description": "初始化value\n初始化条件：\n前置条件：dataSet存在且dataSet.length>0\n1、initFilterValue 存在且value 不存在，需要初始化value值\n2、value、initFilterValue(空字符串也算)同时存在，且initFilterValue 与 filterValue 不一致，需要重置value\n\n通过initFilterValue 重置value为空，需要将initFilterValue设置为''",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 477,
              "column": 2
            },
            "end": {
              "line": 496,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "initFilterValue"
            },
            {
              "name": "dataSet"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-tree/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 65,
          "column": 0
        },
        "end": {
          "line": 497,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuTree",
      "attributes": [
        {
          "name": "data",
          "description": "原据源，为树结构的数组",
          "sourceRange": {
            "start": {
              "line": 119,
              "column": 6
            },
            "end": {
              "line": 121,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "data-set",
          "description": "存储树转Array后的数据集合",
          "sourceRange": {
            "start": {
              "line": 125,
              "column": 6
            },
            "end": {
              "line": 127,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "attr-for-child",
          "description": "树结构数据子节点的属性，默认为children",
          "sourceRange": {
            "start": {
              "line": 133,
              "column": 6
            },
            "end": {
              "line": 135,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        },
        {
          "name": "attr-for-value",
          "description": "节点作为value值的属性，默认取id作为value值",
          "sourceRange": {
            "start": {
              "line": 141,
              "column": 6
            },
            "end": {
              "line": 144,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        },
        {
          "name": "attr-for-label",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 145,
              "column": 6
            },
            "end": {
              "line": 148,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "show-search-input",
          "description": "Whether to require a query input box or not",
          "sourceRange": {
            "start": {
              "line": 155,
              "column": 6
            },
            "end": {
              "line": 158,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "value",
          "description": "The selected value of this select tree",
          "sourceRange": {
            "start": {
              "line": 162,
              "column": 6
            },
            "end": {
              "line": 165,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "selected-items",
          "description": "选择的树节点集合",
          "sourceRange": {
            "start": {
              "line": 171,
              "column": 6
            },
            "end": {
              "line": 174,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "filter-fn",
          "description": "对选中数据结果进行处理的函数",
          "sourceRange": {
            "start": {
              "line": 178,
              "column": 6
            },
            "end": {
              "line": 180,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Function | null | undefined"
        },
        {
          "name": "only-select-level",
          "description": "过滤属性，对选中的结果集进行处理，过滤选中结果集只为指定层级的数据，与filterFn并行使用且优先于filterFn,eg: '2,3'",
          "sourceRange": {
            "start": {
              "line": 184,
              "column": 6
            },
            "end": {
              "line": 186,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "filter-selected-items",
          "description": "经过onlySelectLevel、filterFn处理过后的结果集合",
          "sourceRange": {
            "start": {
              "line": 190,
              "column": 6
            },
            "end": {
              "line": 194,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "filter-value",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 195,
              "column": 6
            },
            "end": {
              "line": 199,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "init-filter-value",
          "description": "仅做初始化数据使用\n应用场景，通过filterValue回显数据",
          "sourceRange": {
            "start": {
              "line": 204,
              "column": 6
            },
            "end": {
              "line": 206,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "multi",
          "description": "是否多选",
          "sourceRange": {
            "start": {
              "line": 213,
              "column": 6
            },
            "end": {
              "line": 216,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "show-radio",
          "description": "Whether to show radio or not",
          "sourceRange": {
            "start": {
              "line": 223,
              "column": 6
            },
            "end": {
              "line": 226,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "default-expand-all",
          "description": "Whether to expand all nodes by default",
          "sourceRange": {
            "start": {
              "line": 233,
              "column": 6
            },
            "end": {
              "line": 236,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "accordion",
          "description": "Accordion mode, showing only one sibling node at a time",
          "sourceRange": {
            "start": {
              "line": 243,
              "column": 6
            },
            "end": {
              "line": 246,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "indent",
          "description": "How many pixels are indented per layer.",
          "sourceRange": {
            "start": {
              "line": 253,
              "column": 6
            },
            "end": {
              "line": 257,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "is-tree",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 258,
              "column": 6
            },
            "end": {
              "line": 261,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "props",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 262,
              "column": 6
            },
            "end": {
              "line": 271,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "search-word",
          "description": "The search word",
          "sourceRange": {
            "start": {
              "line": 277,
              "column": 6
            },
            "end": {
              "line": 280,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "is-render-nodes",
          "description": "是否渲染树节点，默认为true\n设置为false时候，树节点不进行渲染，\nisu-select-tree-new 通过该属性，控制树的渲染",
          "sourceRange": {
            "start": {
              "line": 286,
              "column": 6
            },
            "end": {
              "line": 289,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "icon",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 290,
              "column": 6
            },
            "end": {
              "line": 293,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "selected-items-changed",
          "description": "Fired when the `selectedItems` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "filter-selected-items-changed",
          "description": "Fired when the `filterSelectedItems` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "filter-value-changed",
          "description": "Fired when the `filterValue` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "search-word-changed",
          "description": "Fired when the `searchWord` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-tree"
    },
    {
      "description": "Example:\n ```html\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-ui-font-family` | The font family of the picker | Microsoft YaHei\n |`--isu-ui-font-size` | The font size of the picker | 14px\n\n |`--isu-select-tree-collapse` | Mixin applied to the collapse tree | {}\n |`--isu-select-tree-input` | Mixin applied to the input div | {}\n |`--isu-label` | Mixin applied to the label | {}",
      "summary": "",
      "path": "isu-select-tree.js",
      "properties": [
        {
          "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": 131,
              "column": 6
            },
            "end": {
              "line": 133,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "fetchParam",
          "type": "Object | null | undefined",
          "description": "The fetch param of the url,for example: {id: 2}",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 137,
              "column": 6
            },
            "end": {
              "line": 139,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "label",
          "type": "string",
          "description": "The label of the select tree.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 144,
              "column": 6
            },
            "end": {
              "line": 146,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "String",
          "description": "The placeholder of the select.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 152,
              "column": 6
            },
            "end": {
              "line": 155,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"请选择\""
        },
        {
          "name": "data",
          "type": "array",
          "description": "The data of the tree",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 161,
              "column": 6
            },
            "end": {
              "line": 165,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "value",
          "type": "string",
          "description": "The selected value of this select tree",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 171,
              "column": 6
            },
            "end": {
              "line": 174,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "selectedItems",
          "type": "array",
          "description": "An array of the selected items",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 179,
              "column": 6
            },
            "end": {
              "line": 182,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "filterFn",
          "type": "Function | null | undefined",
          "description": "对选中数据结果进行处理的函数",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 186,
              "column": 6
            },
            "end": {
              "line": 188,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Function"
            }
          }
        },
        {
          "name": "filterSelectedItems",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 189,
              "column": 6
            },
            "end": {
              "line": 192,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "filterValue",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 196,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "attrForValue",
          "type": "string",
          "description": "Attribute name for value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 202,
              "column": 6
            },
            "end": {
              "line": 205,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"id\""
        },
        {
          "name": "attrForLabel",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 206,
              "column": 6
            },
            "end": {
              "line": 209,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "showRadio",
          "type": "boolean",
          "description": "Whether to show radio or not",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 216,
              "column": 6
            },
            "end": {
              "line": 219,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "showSearchInput",
          "type": "boolean",
          "description": "Whether to display the search box",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 225,
              "column": 6
            },
            "end": {
              "line": 228,
              "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": 234,
              "column": 6
            },
            "end": {
              "line": 238,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "prompt",
          "type": "string",
          "description": "The prompt tip to show when input is invalid.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 243,
              "column": 6
            },
            "end": {
              "line": 245,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "promptPosition",
          "type": "string | null | undefined",
          "description": "The prompt tip's position. top/bottom",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 251,
              "column": 6
            },
            "end": {
              "line": 254,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "textValue",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 256,
              "column": 6
            },
            "end": {
              "line": 260,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "readOnly": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "isShowCollapse",
          "type": "boolean | null | undefined",
          "description": "是否显示选择树面板，默认不显示",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 264,
              "column": 6
            },
            "end": {
              "line": 267,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 281,
              "column": 2
            },
            "end": {
              "line": 308,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_inputFocus",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 310,
              "column": 2
            },
            "end": {
              "line": 312,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_displayCollapse",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 314,
              "column": 2
            },
            "end": {
              "line": 316,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "display"
            }
          ],
          "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": 322,
              "column": 2
            },
            "end": {
              "line": 324,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        },
        {
          "name": "getPlaceholderClass",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 326,
              "column": 2
            },
            "end": {
              "line": 328,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "selectedItems"
            }
          ]
        },
        {
          "name": "_srcChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 330,
              "column": 2
            },
            "end": {
              "line": 334,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "src"
            }
          ]
        },
        {
          "name": "_textValueComputed",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 336,
              "column": 2
            },
            "end": {
              "line": 338,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "selectedItems"
            },
            {
              "name": "filterSelectedItems"
            }
          ]
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-select-tree/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 35,
          "column": 0
        },
        "end": {
          "line": 339,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuSelectTree",
      "attributes": [
        {
          "name": "src",
          "description": "A url for fetching local data, the response data of the request should be json.",
          "sourceRange": {
            "start": {
              "line": 131,
              "column": 6
            },
            "end": {
              "line": 133,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "fetch-param",
          "description": "The fetch param of the url,for example: {id: 2}",
          "sourceRange": {
            "start": {
              "line": 137,
              "column": 6
            },
            "end": {
              "line": 139,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "label",
          "description": "The label of the select tree.",
          "sourceRange": {
            "start": {
              "line": 144,
              "column": 6
            },
            "end": {
              "line": 146,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "placeholder",
          "description": "The placeholder of the select.",
          "sourceRange": {
            "start": {
              "line": 152,
              "column": 6
            },
            "end": {
              "line": 155,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        },
        {
          "name": "data",
          "description": "The data of the tree",
          "sourceRange": {
            "start": {
              "line": 161,
              "column": 6
            },
            "end": {
              "line": 165,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "value",
          "description": "The selected value of this select tree",
          "sourceRange": {
            "start": {
              "line": 171,
              "column": 6
            },
            "end": {
              "line": 174,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "selected-items",
          "description": "An array of the selected items",
          "sourceRange": {
            "start": {
              "line": 179,
              "column": 6
            },
            "end": {
              "line": 182,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "filter-fn",
          "description": "对选中数据结果进行处理的函数",
          "sourceRange": {
            "start": {
              "line": 186,
              "column": 6
            },
            "end": {
              "line": 188,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Function | null | undefined"
        },
        {
          "name": "filter-selected-items",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 189,
              "column": 6
            },
            "end": {
              "line": 192,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "filter-value",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 6
            },
            "end": {
              "line": 196,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "attr-for-value",
          "description": "Attribute name for value.",
          "sourceRange": {
            "start": {
              "line": 202,
              "column": 6
            },
            "end": {
              "line": 205,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "attr-for-label",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 206,
              "column": 6
            },
            "end": {
              "line": 209,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "show-radio",
          "description": "Whether to show radio or not",
          "sourceRange": {
            "start": {
              "line": 216,
              "column": 6
            },
            "end": {
              "line": 219,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "show-search-input",
          "description": "Whether to display the search box",
          "sourceRange": {
            "start": {
              "line": 225,
              "column": 6
            },
            "end": {
              "line": 228,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "required",
          "description": "Set to true, if the selection is required.",
          "sourceRange": {
            "start": {
              "line": 234,
              "column": 6
            },
            "end": {
              "line": 238,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "prompt",
          "description": "The prompt tip to show when input is invalid.",
          "sourceRange": {
            "start": {
              "line": 243,
              "column": 6
            },
            "end": {
              "line": 245,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "prompt-position",
          "description": "The prompt tip's position. top/bottom",
          "sourceRange": {
            "start": {
              "line": 251,
              "column": 6
            },
            "end": {
              "line": 254,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "text-value",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 256,
              "column": 6
            },
            "end": {
              "line": 260,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "is-show-collapse",
          "description": "是否显示选择树面板，默认不显示",
          "sourceRange": {
            "start": {
              "line": 264,
              "column": 6
            },
            "end": {
              "line": 267,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "data-changed",
          "description": "Fired when the `data` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "selected-items-changed",
          "description": "Fired when the `selectedItems` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "filter-selected-items-changed",
          "description": "Fired when the `filterSelectedItems` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "filter-value-changed",
          "description": "Fired when the `filterValue` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "text-value-changed",
          "description": "Fired when the `textValue` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-select-tree"
    },
    {
      "description": "Example:\n ```html\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-ui-font-family` | The font family of the picker | Microsoft YaHei\n |`--isu-ui-font-size` | The font size of the picker | 14px\n\n |`--isu-select-tree-new-collapse` | Mixin applied to the collapse tree | {}\n |`--isu-select-tree-new-input` | Mixin applied to the input div | {}\n |`--isu-label` | Mixin applied to the label | {}",
      "summary": "",
      "path": "isu-select-tree-new.js",
      "properties": [
        {
          "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": 202,
              "column": 6
            },
            "end": {
              "line": 204,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "data",
          "type": "array",
          "description": "The data of the tree",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 210,
              "column": 6
            },
            "end": {
              "line": 214,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "label",
          "type": "string",
          "description": "The label of the select tree.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 219,
              "column": 6
            },
            "end": {
              "line": 221,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "attrForLabel",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 222,
              "column": 6
            },
            "end": {
              "line": 225,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "attrForValue",
          "type": "string",
          "description": "Attribute name for value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 231,
              "column": 6
            },
            "end": {
              "line": 234,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"id\""
        },
        {
          "name": "placeholder",
          "type": "String",
          "description": "The placeholder of the select.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 240,
              "column": 6
            },
            "end": {
              "line": 243,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"请选择\""
        },
        {
          "name": "value",
          "type": "string",
          "description": "The selected value of this select tree",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 249,
              "column": 6
            },
            "end": {
              "line": 252,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "selectedItems",
          "type": "array",
          "description": "An array of the selected items",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 257,
              "column": 6
            },
            "end": {
              "line": 260,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "filterFn",
          "type": "Function | null | undefined",
          "description": "对选中数据结果进行处理的函数",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 264,
              "column": 6
            },
            "end": {
              "line": 266,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Function"
            }
          }
        },
        {
          "name": "onlySelectLevel",
          "type": "string | null | undefined",
          "description": "过滤属性，对选中的结果集进行处理，过滤选中结果集只为指定层级的数据，与filterFn并行使用且优先于filterFn,eg: '2,3'",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 270,
              "column": 6
            },
            "end": {
              "line": 272,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "filterSelectedItems",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 273,
              "column": 6
            },
            "end": {
              "line": 276,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "filterValue",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 277,
              "column": 6
            },
            "end": {
              "line": 280,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "initFilterValue",
          "type": "string | null | undefined",
          "description": "仅做初始化数据使用\n应用场景，通过filterValue回显数据",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 285,
              "column": 6
            },
            "end": {
              "line": 287,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true, if the selection is required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 293,
              "column": 6
            },
            "end": {
              "line": 297,
              "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": 303,
              "column": 6
            },
            "end": {
              "line": 307,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "prompt",
          "type": "string",
          "description": "The prompt tip to show when input is invalid.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 312,
              "column": 6
            },
            "end": {
              "line": 314,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "promptPosition",
          "type": "string | null | undefined",
          "description": "The prompt tip's position. top/bottom",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 320,
              "column": 6
            },
            "end": {
              "line": 323,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "isView",
          "type": "boolean",
          "description": "The text mode display requires readonly=true to take effect",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 330,
              "column": 6
            },
            "end": {
              "line": 333,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "joinConnector",
          "type": "string",
          "description": "The connector to connect labels when the isView=true, eg: \"苹果，香蕉，梨\"",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 339,
              "column": 6
            },
            "end": {
              "line": 342,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\",\""
        },
        {
          "name": "multi",
          "type": "boolean",
          "description": "multiple options or not，default not",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 348,
              "column": 6
            },
            "end": {
              "line": 351,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "showSearchInput",
          "type": "boolean",
          "description": "Whether to display the search box",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 357,
              "column": 6
            },
            "end": {
              "line": 360,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "showAll",
          "type": "boolean | null | undefined",
          "description": "输入框是否因为显示数量太多被撑开展示全部，默认展示全部",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 364,
              "column": 6
            },
            "end": {
              "line": 368,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "textValue",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 369,
              "column": 6
            },
            "end": {
              "line": 373,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "readOnly": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "isShowCollapse",
          "type": "boolean | null | undefined",
          "description": "是否显示选择树面板，默认不显示",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 377,
              "column": 6
            },
            "end": {
              "line": 380,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 394,
              "column": 2
            },
            "end": {
              "line": 412,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_inputFocus",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 414,
              "column": 2
            },
            "end": {
              "line": 418,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_displayCollapse",
          "description": "Whether to display the selection panel",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 425,
              "column": 2
            },
            "end": {
              "line": 427,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "display"
            }
          ],
          "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": 433,
              "column": 2
            },
            "end": {
              "line": 435,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean"
          }
        },
        {
          "name": "_srcChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 437,
              "column": 2
            },
            "end": {
              "line": 445,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "src"
            }
          ]
        },
        {
          "name": "_textValueComputed",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 447,
              "column": 2
            },
            "end": {
              "line": 449,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "selectedItems"
            },
            {
              "name": "filterSelectedItems"
            }
          ]
        },
        {
          "name": "_deleteTag",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 451,
              "column": 2
            },
            "end": {
              "line": 456,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-select-tree/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 36,
          "column": 0
        },
        "end": {
          "line": 457,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuSelectTreeNew",
      "attributes": [
        {
          "name": "src",
          "description": "A url for fetching local data, the response data of the request should be json.",
          "sourceRange": {
            "start": {
              "line": 202,
              "column": 6
            },
            "end": {
              "line": 204,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "data",
          "description": "The data of the tree",
          "sourceRange": {
            "start": {
              "line": 210,
              "column": 6
            },
            "end": {
              "line": 214,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "label",
          "description": "The label of the select tree.",
          "sourceRange": {
            "start": {
              "line": 219,
              "column": 6
            },
            "end": {
              "line": 221,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "attr-for-label",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 222,
              "column": 6
            },
            "end": {
              "line": 225,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "attr-for-value",
          "description": "Attribute name for value.",
          "sourceRange": {
            "start": {
              "line": 231,
              "column": 6
            },
            "end": {
              "line": 234,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "placeholder",
          "description": "The placeholder of the select.",
          "sourceRange": {
            "start": {
              "line": 240,
              "column": 6
            },
            "end": {
              "line": 243,
              "column": 7
            }
          },
          "metadata": {},
          "type": "String"
        },
        {
          "name": "value",
          "description": "The selected value of this select tree",
          "sourceRange": {
            "start": {
              "line": 249,
              "column": 6
            },
            "end": {
              "line": 252,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "selected-items",
          "description": "An array of the selected items",
          "sourceRange": {
            "start": {
              "line": 257,
              "column": 6
            },
            "end": {
              "line": 260,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "filter-fn",
          "description": "对选中数据结果进行处理的函数",
          "sourceRange": {
            "start": {
              "line": 264,
              "column": 6
            },
            "end": {
              "line": 266,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Function | null | undefined"
        },
        {
          "name": "only-select-level",
          "description": "过滤属性，对选中的结果集进行处理，过滤选中结果集只为指定层级的数据，与filterFn并行使用且优先于filterFn,eg: '2,3'",
          "sourceRange": {
            "start": {
              "line": 270,
              "column": 6
            },
            "end": {
              "line": 272,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "filter-selected-items",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 273,
              "column": 6
            },
            "end": {
              "line": 276,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "filter-value",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 277,
              "column": 6
            },
            "end": {
              "line": 280,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "init-filter-value",
          "description": "仅做初始化数据使用\n应用场景，通过filterValue回显数据",
          "sourceRange": {
            "start": {
              "line": 285,
              "column": 6
            },
            "end": {
              "line": 287,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "required",
          "description": "Set to true, if the selection is required.",
          "sourceRange": {
            "start": {
              "line": 293,
              "column": 6
            },
            "end": {
              "line": 297,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "readonly",
          "description": "Set to true, if the select is readonly.",
          "sourceRange": {
            "start": {
              "line": 303,
              "column": 6
            },
            "end": {
              "line": 307,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "prompt",
          "description": "The prompt tip to show when input is invalid.",
          "sourceRange": {
            "start": {
              "line": 312,
              "column": 6
            },
            "end": {
              "line": 314,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "prompt-position",
          "description": "The prompt tip's position. top/bottom",
          "sourceRange": {
            "start": {
              "line": 320,
              "column": 6
            },
            "end": {
              "line": 323,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "is-view",
          "description": "The text mode display requires readonly=true to take effect",
          "sourceRange": {
            "start": {
              "line": 330,
              "column": 6
            },
            "end": {
              "line": 333,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "join-connector",
          "description": "The connector to connect labels when the isView=true, eg: \"苹果，香蕉，梨\"",
          "sourceRange": {
            "start": {
              "line": 339,
              "column": 6
            },
            "end": {
              "line": 342,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "multi",
          "description": "multiple options or not，default not",
          "sourceRange": {
            "start": {
              "line": 348,
              "column": 6
            },
            "end": {
              "line": 351,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "show-search-input",
          "description": "Whether to display the search box",
          "sourceRange": {
            "start": {
              "line": 357,
              "column": 6
            },
            "end": {
              "line": 360,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "show-all",
          "description": "输入框是否因为显示数量太多被撑开展示全部，默认展示全部",
          "sourceRange": {
            "start": {
              "line": 364,
              "column": 6
            },
            "end": {
              "line": 368,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "text-value",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 369,
              "column": 6
            },
            "end": {
              "line": 373,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "is-show-collapse",
          "description": "是否显示选择树面板，默认不显示",
          "sourceRange": {
            "start": {
              "line": 377,
              "column": 6
            },
            "end": {
              "line": 380,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "data-changed",
          "description": "Fired when the `data` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "selected-items-changed",
          "description": "Fired when the `selectedItems` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "filter-selected-items-changed",
          "description": "Fired when the `filterSelectedItems` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "filter-value-changed",
          "description": "Fired when the `filterValue` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "text-value-changed",
          "description": "Fired when the `textValue` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-select-tree-new"
    },
    {
      "description": "Example:\r\n ```html\r\n  <isu-slider show-tooltip></isu-slider>\r\n  <isu-slider value=\"50\" show-tooltip></isu-slider>\r\n  <isu-slider></isu-slider>\r\n  <isu-slider value=\"70\" disabled></isu-slider>\r\n  <isu-slider value=\"50\" step=\"10\" show-tooltip min=\"-10\" max=\"100\"></isu-slider>\r\n  <isu-slider show-tooltip show-input></isu-slider>\r\n  <isu-slider vertical height=\"200px\" value=\"50\" show-input show-tooltip></isu-slider>\r\n ```",
      "summary": "",
      "path": "isu-slider.js",
      "properties": [
        {
          "name": "__dataEnabled",
          "type": "boolean",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 179,
              "column": 6
            },
            "end": {
              "line": 179,
              "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": 1331,
              "column": 6
            },
            "end": {
              "line": 1331,
              "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": 1333,
              "column": 6
            },
            "end": {
              "line": 1333,
              "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": 1335,
              "column": 6
            },
            "end": {
              "line": 1335,
              "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": 1337,
              "column": 6
            },
            "end": {
              "line": 1337,
              "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": 1339,
              "column": 6
            },
            "end": {
              "line": 1339,
              "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": 1341,
              "column": 6
            },
            "end": {
              "line": 1341,
              "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": 1343,
              "column": 6
            },
            "end": {
              "line": 1343,
              "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": 1345,
              "column": 6
            },
            "end": {
              "line": 1345,
              "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": 1347,
              "column": 6
            },
            "end": {
              "line": 1347,
              "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": 1349,
              "column": 6
            },
            "end": {
              "line": 1349,
              "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": 1351,
              "column": 6
            },
            "end": {
              "line": 1351,
              "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": 1353,
              "column": 6
            },
            "end": {
              "line": 1353,
              "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": 1355,
              "column": 6
            },
            "end": {
              "line": 1355,
              "column": 28
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__computeInfo",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1357,
              "column": 6
            },
            "end": {
              "line": 1357,
              "column": 25
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "__reflectEffects",
          "type": "Object",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1359,
              "column": 6
            },
            "end": {
              "line": 1359,
              "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": 1361,
              "column": 6
            },
            "end": {
              "line": 1361,
              "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": 1363,
              "column": 6
            },
            "end": {
              "line": 1363,
              "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": 1365,
              "column": 6
            },
            "end": {
              "line": 1365,
              "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": 1367,
              "column": 6
            },
            "end": {
              "line": 1367,
              "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": 1369,
              "column": 6
            },
            "end": {
              "line": 1369,
              "column": 26
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "_overrideLegacyUndefined",
          "type": "boolean",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1371,
              "column": 6
            },
            "end": {
              "line": 1371,
              "column": 36
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "name": "PROPERTY_EFFECT_TYPES",
          "type": "?",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1374,
              "column": 4
            },
            "end": {
              "line": 1376,
              "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": 558,
              "column": 6
            },
            "end": {
              "line": 558,
              "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": 560,
              "column": 6
            },
            "end": {
              "line": 560,
              "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": 562,
              "column": 6
            },
            "end": {
              "line": 562,
              "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": 564,
              "column": 6
            },
            "end": {
              "line": 564,
              "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": 566,
              "column": 6
            },
            "end": {
              "line": 566,
              "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": 568,
              "column": 6
            },
            "end": {
              "line": 568,
              "column": 13
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "name": "min",
          "type": "Number",
          "description": "min value",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 191,
              "column": 6
            },
            "end": {
              "line": 194,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "0"
        },
        {
          "name": "max",
          "type": "Number",
          "description": "max value",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 200,
              "column": 6
            },
            "end": {
              "line": 203,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "100"
        },
        {
          "name": "value",
          "type": "Number",
          "description": "Current value",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 209,
              "column": 6
            },
            "end": {
              "line": 213,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"onValueChange\"",
              "attributeType": "Number"
            }
          },
          "defaultValue": "0"
        },
        {
          "name": "disabled",
          "type": "Boolean",
          "description": "Whether to disable",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 219,
              "column": 6
            },
            "end": {
              "line": 222,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "step",
          "type": "Number",
          "description": "step",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 228,
              "column": 6
            },
            "end": {
              "line": 231,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "1"
        },
        {
          "name": "showInput",
          "type": "Boolean",
          "description": "Whether to display the input box",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 237,
              "column": 6
            },
            "end": {
              "line": 240,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "inputSize",
          "type": "string",
          "description": "Input box size, the value must be one of large, medium, small, and mini",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 246,
              "column": 6
            },
            "end": {
              "line": 250,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"onInputSizeChange\"",
              "attributeType": "String"
            }
          },
          "defaultValue": "\"small\""
        },
        {
          "name": "showTooltip",
          "type": "Boolean",
          "description": "Whether to display the tip",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 256,
              "column": 6
            },
            "end": {
              "line": 259,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "vertical",
          "type": "Boolean",
          "description": "direction",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 265,
              "column": 6
            },
            "end": {
              "line": 268,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "height",
          "type": "string | null | undefined",
          "description": "Vertical height",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 272,
              "column": 6
            },
            "end": {
              "line": 274,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "barStyle",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 275,
              "column": 6
            },
            "end": {
              "line": 278,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "buttonStyle",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 279,
              "column": 6
            },
            "end": {
              "line": 282,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "dragging",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 283,
              "column": 6
            },
            "end": {
              "line": 286,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "hovering",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 287,
              "column": 6
            },
            "end": {
              "line": 290,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "sliderSize",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 291,
              "column": 6
            },
            "end": {
              "line": 294,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "0"
        },
        {
          "name": "startPosition",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 295,
              "column": 6
            },
            "end": {
              "line": 299,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Number"
            }
          },
          "defaultValue": "0"
        },
        {
          "name": "startX",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 300,
              "column": 6
            },
            "end": {
              "line": 304,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Number"
            }
          },
          "defaultValue": "0"
        },
        {
          "name": "startY",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 305,
              "column": 6
            },
            "end": {
              "line": 309,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Number"
            }
          },
          "defaultValue": "0"
        },
        {
          "name": "precision",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 310,
              "column": 6
            },
            "end": {
              "line": 313,
              "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": 2783,
              "column": 4
            },
            "end": {
              "line": 2816,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template to stamp"
            },
            {
              "name": "templateInfo",
              "type": "TemplateInfo=",
              "description": "Optional bound template info associated\n  with the template to be stamped; if omitted the template will be\n  automatically bound."
            }
          ],
          "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": 537,
              "column": 4
            },
            "end": {
              "line": 542,
              "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": 553,
              "column": 4
            },
            "end": {
              "line": 555,
              "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": 566,
              "column": 4
            },
            "end": {
              "line": 568,
              "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": 148,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "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": 157,
              "column": 5
            },
            "end": {
              "line": 174,
              "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": 688,
              "column": 4
            },
            "end": {
              "line": 694,
              "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": 583,
              "column": 4
            },
            "end": {
              "line": 612,
              "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": 250,
              "column": 4
            },
            "end": {
              "line": 252,
              "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": 264,
              "column": 4
            },
            "end": {
              "line": 268,
              "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": 277,
              "column": 4
            },
            "end": {
              "line": 279,
              "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": 295,
              "column": 4
            },
            "end": {
              "line": 311,
              "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": "_isPropertyPending",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/properties-changed.js",
            "start": {
              "line": 318,
              "column": 4
            },
            "end": {
              "line": 320,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property is pending."
          },
          "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": 330,
              "column": 4
            },
            "end": {
              "line": 340,
              "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": 354,
              "column": 4
            },
            "end": {
              "line": 363,
              "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": 375,
              "column": 4
            },
            "end": {
              "line": 386,
              "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": 401,
              "column": 4
            },
            "end": {
              "line": 403,
              "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": 418,
              "column": 4
            },
            "end": {
              "line": 419,
              "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": 440,
              "column": 4
            },
            "end": {
              "line": 447,
              "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": 461,
              "column": 4
            },
            "end": {
              "line": 468,
              "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": 483,
              "column": 4
            },
            "end": {
              "line": 490,
              "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": 503,
              "column": 4
            },
            "end": {
              "line": 509,
              "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": 525,
              "column": 4
            },
            "end": {
              "line": 535,
              "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": 549,
              "column": 4
            },
            "end": {
              "line": 556,
              "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": 571,
              "column": 4
            },
            "end": {
              "line": 580,
              "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": 1416,
              "column": 4
            },
            "end": {
              "line": 1420,
              "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": "_registerHost",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1397,
              "column": 4
            },
            "end": {
              "line": 1405,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "PropertyEffects"
        },
        {
          "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": 1455,
              "column": 4
            },
            "end": {
              "line": 1463,
              "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": 1474,
              "column": 4
            },
            "end": {
              "line": 1480,
              "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": 1493,
              "column": 4
            },
            "end": {
              "line": 1496,
              "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": 1508,
              "column": 4
            },
            "end": {
              "line": 1510,
              "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": 1522,
              "column": 4
            },
            "end": {
              "line": 1524,
              "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": 1536,
              "column": 4
            },
            "end": {
              "line": 1538,
              "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": 1550,
              "column": 4
            },
            "end": {
              "line": 1552,
              "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": 1585,
              "column": 4
            },
            "end": {
              "line": 1617,
              "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": 1641,
              "column": 4
            },
            "end": {
              "line": 1653,
              "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": 1761,
              "column": 4
            },
            "end": {
              "line": 1766,
              "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": 1776,
              "column": 4
            },
            "end": {
              "line": 1787,
              "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": 1801,
              "column": 4
            },
            "end": {
              "line": 1814,
              "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": 706,
              "column": 4
            },
            "end": {
              "line": 715,
              "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": 1845,
              "column": 4
            },
            "end": {
              "line": 1856,
              "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": 1946,
              "column": 4
            },
            "end": {
              "line": 1953,
              "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": "_runEffectsForTemplate",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/property-effects.js",
            "start": {
              "line": 1955,
              "column": 4
            },
            "end": {
              "line": 1968,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "templateInfo"
            },
            {
              "name": "changedProps"
            },
            {
              "name": "oldProps"
            },
            {
              "name": "hasPaths"
            }
          ],
          "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": 1980,
              "column": 4
            },
            "end": {
              "line": 1985,
              "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": 1998,
              "column": 4
            },
            "end": {
              "line": 2003,
              "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": 2039,
              "column": 4
            },
            "end": {
              "line": 2043,
              "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": 2065,
              "column": 4
            },
            "end": {
              "line": 2067,
              "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": 2091,
              "column": 4
            },
            "end": {
              "line": 2101,
              "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": 2118,
              "column": 4
            },
            "end": {
              "line": 2127,
              "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": 2143,
              "column": 4
            },
            "end": {
              "line": 2152,
              "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": 2172,
              "column": 4
            },
            "end": {
              "line": 2209,
              "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": 2225,
              "column": 4
            },
            "end": {
              "line": 2234,
              "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": 2251,
              "column": 4
            },
            "end": {
              "line": 2259,
              "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": 2275,
              "column": 4
            },
            "end": {
              "line": 2292,
              "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": 2306,
              "column": 4
            },
            "end": {
              "line": 2313,
              "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": 2329,
              "column": 4
            },
            "end": {
              "line": 2339,
              "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": 2353,
              "column": 4
            },
            "end": {
              "line": 2359,
              "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": 2371,
              "column": 4
            },
            "end": {
              "line": 2379,
              "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": 2392,
              "column": 4
            },
            "end": {
              "line": 2405,
              "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": 2420,
              "column": 4
            },
            "end": {
              "line": 2429,
              "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": 2444,
              "column": 4
            },
            "end": {
              "line": 2470,
              "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 an instance\nto add effects at runtime.  See that method for full 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": 2690,
              "column": 4
            },
            "end": {
              "line": 2736,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "template",
              "type": "!HTMLTemplateElement",
              "description": "Template containing binding\nbindings"
            },
            {
              "name": "instanceBinding",
              "type": "boolean=",
              "description": "When false (default), performs\n\"prototypical\" binding of the template and overwrites any previously\nbound template for the class. When true (as passed from\n`_stampTemplate`), the template info is instanced and linked into the\nlist of bound templates."
            }
          ],
          "return": {
            "type": "!TemplateInfo",
            "desc": "Template metadata object; for `runtimeBinding`,\nthis 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": 2828,
              "column": 4
            },
            "end": {
              "line": 2852,
              "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": 675,
              "column": 4
            },
            "end": {
              "line": 680,
              "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": "_canApplyPropertyDefault",
          "description": "Determines if a property dfeault can be applied. For example, this\nprevents a default from being applied when a property that has no\naccessor is overridden by its host before upgrade (e.g. via a binding).",
          "privacy": "protected",
          "sourceRange": {
            "file": "../@polymer/polymer/lib/mixins/element-mixin.js",
            "start": {
              "line": 622,
              "column": 4
            },
            "end": {
              "line": 624,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property",
              "type": "string",
              "description": "Name of the property"
            }
          ],
          "return": {
            "type": "boolean",
            "desc": "Returns true if the property default can be applied."
          },
          "inheritedFrom": "ElementMixin"
        },
        {
          "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": 730,
              "column": 4
            },
            "end": {
              "line": 755,
              "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": 779,
              "column": 4
            },
            "end": {
              "line": 783,
              "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": 801,
              "column": 4
            },
            "end": {
              "line": 806,
              "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": "getIsuSliderClass",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 323,
              "column": 2
            },
            "end": {
              "line": 325,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "vertical"
            }
          ]
        },
        {
          "name": "getVerticalStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 327,
              "column": 2
            },
            "end": {
              "line": 331,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "vertical"
            },
            {
              "name": "height"
            }
          ]
        },
        {
          "name": "isShowToolTip",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 333,
              "column": 2
            },
            "end": {
              "line": 340,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "showTooltip"
            },
            {
              "name": "dragging"
            },
            {
              "name": "hovering"
            }
          ]
        },
        {
          "name": "handleMouseDown",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 342,
              "column": 2
            },
            "end": {
              "line": 349,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "handleMouseEnter",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 351,
              "column": 2
            },
            "end": {
              "line": 353,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "handleMouseLeave",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 355,
              "column": 2
            },
            "end": {
              "line": 357,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "onDragStart",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 359,
              "column": 2
            },
            "end": {
              "line": 369,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "onDragEnd",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 371,
              "column": 2
            },
            "end": {
              "line": 376,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "onDragging",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 378,
              "column": 2
            },
            "end": {
              "line": 393,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "getSliderRunwayClass",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 395,
              "column": 2
            },
            "end": {
              "line": 397,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "disabled"
            }
          ]
        },
        {
          "name": "getHasInputStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 399,
              "column": 2
            },
            "end": {
              "line": 410,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "showInput"
            },
            {
              "name": "inputSize"
            }
          ]
        },
        {
          "name": "getInputStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 412,
              "column": 2
            },
            "end": {
              "line": 420,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "inputSize"
            }
          ]
        },
        {
          "name": "computeValue",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 422,
              "column": 2
            },
            "end": {
              "line": 424,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "min"
            },
            {
              "name": "max"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "onValueChange",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 426,
              "column": 2
            },
            "end": {
              "line": 429,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "setBarAndButtonStyle",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 431,
              "column": 2
            },
            "end": {
              "line": 436,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "position"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "onSliderClick",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 438,
              "column": 2
            },
            "end": {
              "line": 449,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "setValue",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 451,
              "column": 2
            },
            "end": {
              "line": 466,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "newPosition"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "setSliderSize",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 468,
              "column": 2
            },
            "end": {
              "line": 470,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "setPrecision",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 472,
              "column": 2
            },
            "end": {
              "line": 478,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "onInputSizeChange",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 480,
              "column": 2
            },
            "end": {
              "line": 485,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "size"
            }
          ],
          "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": 247,
              "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": 821,
              "column": 4
            },
            "end": {
              "line": 827,
              "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": 2871,
              "column": 4
            },
            "end": {
              "line": 2888,
              "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": 327,
              "column": 4
            },
            "end": {
              "line": 365,
              "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": 2978,
              "column": 4
            },
            "end": {
              "line": 3028,
              "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": 408,
              "column": 4
            },
            "end": {
              "line": 417,
              "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": 2909,
              "column": 4
            },
            "end": {
              "line": 2962,
              "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": 465,
              "column": 4
            },
            "end": {
              "line": 468,
              "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": 408,
              "column": 4
            },
            "end": {
              "line": 413,
              "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": 2511,
              "column": 4
            },
            "end": {
              "line": 2513,
              "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": 2526,
              "column": 4
            },
            "end": {
              "line": 2528,
              "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": 2544,
              "column": 4
            },
            "end": {
              "line": 2546,
              "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": 2557,
              "column": 4
            },
            "end": {
              "line": 2559,
              "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": 2578,
              "column": 4
            },
            "end": {
              "line": 2580,
              "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": 2591,
              "column": 4
            },
            "end": {
              "line": 2593,
              "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": 2610,
              "column": 4
            },
            "end": {
              "line": 2612,
              "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": 2627,
              "column": 4
            },
            "end": {
              "line": 2629,
              "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": 841,
              "column": 4
            },
            "end": {
              "line": 866,
              "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": 3075,
              "column": 4
            },
            "end": {
              "line": 3140,
              "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": 3157,
              "column": 4
            },
            "end": {
              "line": 3174,
              "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": 372,
              "column": 4
            },
            "end": {
              "line": 381,
              "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": 384,
              "column": 4
            },
            "end": {
              "line": 398,
              "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": 427,
              "column": 4
            },
            "end": {
              "line": 432,
              "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": 635,
              "column": 4
            },
            "end": {
              "line": 637,
              "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": 649,
              "column": 4
            },
            "end": {
              "line": 660,
              "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-slider/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 20,
          "column": 0
        },
        "end": {
          "line": 486,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "PolymerElement",
      "name": "IsuSlider",
      "attributes": [
        {
          "name": "min",
          "description": "min value",
          "sourceRange": {
            "start": {
              "line": 191,
              "column": 6
            },
            "end": {
              "line": 194,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Number"
        },
        {
          "name": "max",
          "description": "max value",
          "sourceRange": {
            "start": {
              "line": 200,
              "column": 6
            },
            "end": {
              "line": 203,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Number"
        },
        {
          "name": "value",
          "description": "Current value",
          "sourceRange": {
            "start": {
              "line": 209,
              "column": 6
            },
            "end": {
              "line": 213,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Number"
        },
        {
          "name": "disabled",
          "description": "Whether to disable",
          "sourceRange": {
            "start": {
              "line": 219,
              "column": 6
            },
            "end": {
              "line": 222,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Boolean"
        },
        {
          "name": "step",
          "description": "step",
          "sourceRange": {
            "start": {
              "line": 228,
              "column": 6
            },
            "end": {
              "line": 231,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Number"
        },
        {
          "name": "show-input",
          "description": "Whether to display the input box",
          "sourceRange": {
            "start": {
              "line": 237,
              "column": 6
            },
            "end": {
              "line": 240,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Boolean"
        },
        {
          "name": "input-size",
          "description": "Input box size, the value must be one of large, medium, small, and mini",
          "sourceRange": {
            "start": {
              "line": 246,
              "column": 6
            },
            "end": {
              "line": 250,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "show-tooltip",
          "description": "Whether to display the tip",
          "sourceRange": {
            "start": {
              "line": 256,
              "column": 6
            },
            "end": {
              "line": 259,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Boolean"
        },
        {
          "name": "vertical",
          "description": "direction",
          "sourceRange": {
            "start": {
              "line": 265,
              "column": 6
            },
            "end": {
              "line": 268,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Boolean"
        },
        {
          "name": "height",
          "description": "Vertical height",
          "sourceRange": {
            "start": {
              "line": 272,
              "column": 6
            },
            "end": {
              "line": 274,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "bar-style",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 275,
              "column": 6
            },
            "end": {
              "line": 278,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "button-style",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 279,
              "column": 6
            },
            "end": {
              "line": 282,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "dragging",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 283,
              "column": 6
            },
            "end": {
              "line": 286,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "hovering",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 287,
              "column": 6
            },
            "end": {
              "line": 290,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "slider-size",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 291,
              "column": 6
            },
            "end": {
              "line": 294,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "start-position",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 295,
              "column": 6
            },
            "end": {
              "line": 299,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "start-x",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 300,
              "column": 6
            },
            "end": {
              "line": 304,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "start-y",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 305,
              "column": 6
            },
            "end": {
              "line": 309,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "precision",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 310,
              "column": 6
            },
            "end": {
              "line": 313,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-slider"
    },
    {
      "description": "`isu-toggles`\n   <isu-status-select id=\"demo1\" label=\"状态\"></isu-status-select>\n```html\n```",
      "summary": "",
      "path": "isu-status-select.js",
      "properties": [
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 88,
              "column": 6
            },
            "end": {
              "line": 90,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "readonly",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 92,
              "column": 6
            },
            "end": {
              "line": 96,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "noCount",
          "type": "Boolean",
          "description": "If false, count is not displayed",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 103,
              "column": 6
            },
            "end": {
              "line": 107,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "items",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 109,
              "column": 6
            },
            "end": {
              "line": 114,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "attrForValue",
          "type": "string",
          "description": "Attribute name for value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 121,
              "column": 6
            },
            "end": {
              "line": 124,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"value\""
        },
        {
          "name": "attrForLabel",
          "type": "string",
          "description": "Attribute name for label.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 131,
              "column": 6
            },
            "end": {
              "line": 134,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"label\""
        },
        {
          "name": "attrForCount",
          "type": "string",
          "description": "Attribute name for label.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 141,
              "column": 6
            },
            "end": {
              "line": 144,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"count\""
        },
        {
          "name": "value",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 146,
              "column": 6
            },
            "end": {
              "line": 149,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "itemSelected",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 154,
              "column": 2
            },
            "end": {
              "line": 166,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-status-select/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 16,
          "column": 0
        },
        "end": {
          "line": 168,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuStatusSelect",
      "attributes": [
        {
          "name": "label",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 88,
              "column": 6
            },
            "end": {
              "line": 90,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "readonly",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 92,
              "column": 6
            },
            "end": {
              "line": 96,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "no-count",
          "description": "If false, count is not displayed",
          "sourceRange": {
            "start": {
              "line": 103,
              "column": 6
            },
            "end": {
              "line": 107,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Boolean"
        },
        {
          "name": "items",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 109,
              "column": 6
            },
            "end": {
              "line": 114,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Array | null | undefined"
        },
        {
          "name": "attr-for-value",
          "description": "Attribute name for value.",
          "sourceRange": {
            "start": {
              "line": 121,
              "column": 6
            },
            "end": {
              "line": 124,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "attr-for-label",
          "description": "Attribute name for label.",
          "sourceRange": {
            "start": {
              "line": 131,
              "column": 6
            },
            "end": {
              "line": 134,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "attr-for-count",
          "description": "Attribute name for label.",
          "sourceRange": {
            "start": {
              "line": 141,
              "column": 6
            },
            "end": {
              "line": 144,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "value",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 146,
              "column": 6
            },
            "end": {
              "line": 149,
              "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-status-select"
    },
    {
      "description": "`isu-grid`\n\nExample:\n```html\n<isu-table-column prop=\"phone\" label=\"电话号码\" sortable width=\"160\" default-value=\"--\" cell-style=\"text-align: right;\"></isu-table-column>\n<isu-table-column prop=\"sex\" label=\"性别\" width=\"100\" type=\"expand\"  model-as=\"user\">\n  <template>\n   <div class=\"ext-container\">\n   <div>姓名：[[user.name]]</div>\n   <div>sex: [[user.sex]]</div>\n   <div>phone: [[user.phone]]</div>\n   </div>\n  </template>\n</isu-table-column>\n<isu-table-column label=\"操作\" width=\"300\" type=\"operate\" model-as=\"user\" frozen fixed=\"right\">\n\n```",
      "summary": "",
      "path": "isu-table-column.js",
      "properties": [
        {
          "name": "prop",
          "type": "string",
          "description": "The key whose value needs to be displayed in the td. eg: 'sex'",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 40,
              "column": 6
            },
            "end": {
              "line": 42,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "props",
          "type": "string",
          "description": "The keys whose values need to be displayed in the td. eg: 'sex,name'",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 48,
              "column": 6
            },
            "end": {
              "line": 50,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "separator",
          "type": "string",
          "description": "The separator when a column displays multiple fields",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 56,
              "column": 6
            },
            "end": {
              "line": 58,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "label",
          "type": "string",
          "description": "The label of the column",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 64,
              "column": 6
            },
            "end": {
              "line": 66,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "width",
          "type": "number",
          "description": "The width of the column",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 72,
              "column": 6
            },
            "end": {
              "line": 74,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "fixed",
          "type": "string",
          "description": "The fixed way a column fixed",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 80,
              "column": 6
            },
            "end": {
              "line": 82,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "type",
          "type": "string",
          "description": "The fixed way a column fixed",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 88,
              "column": 6
            },
            "end": {
              "line": 91,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"view\""
        },
        {
          "name": "tmpl",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 93,
              "column": 6
            },
            "end": {
              "line": 93,
              "column": 18
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "modelAs",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 95,
              "column": 6
            },
            "end": {
              "line": 98,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"item\""
        },
        {
          "name": "sortable",
          "type": "boolean",
          "description": "Whether the column is sortable",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 105,
              "column": 6
            },
            "end": {
              "line": 108,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "frozen",
          "type": "boolean",
          "description": "Whether the column is frozen",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 115,
              "column": 6
            },
            "end": {
              "line": 118,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "formatter",
          "type": "Function | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 120,
              "column": 6
            },
            "end": {
              "line": 120,
              "column": 25
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Function"
            }
          }
        },
        {
          "name": "cellStyle",
          "type": "string",
          "description": "The column style, can set the color, alignment,etc.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 126,
              "column": 6
            },
            "end": {
              "line": 128,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "defaultValue",
          "type": "string",
          "description": "The default value of the column",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 134,
              "column": 6
            },
            "end": {
              "line": 136,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_findTemplate",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 156,
              "column": 2
            },
            "end": {
              "line": 159,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "stampTemplate",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 161,
              "column": 2
            },
            "end": {
              "line": 164,
              "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": 28,
          "column": 0
        },
        "end": {
          "line": 165,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuTableColumn",
      "attributes": [
        {
          "name": "prop",
          "description": "The key whose value needs to be displayed in the td. eg: 'sex'",
          "sourceRange": {
            "start": {
              "line": 40,
              "column": 6
            },
            "end": {
              "line": 42,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "props",
          "description": "The keys whose values need to be displayed in the td. eg: 'sex,name'",
          "sourceRange": {
            "start": {
              "line": 48,
              "column": 6
            },
            "end": {
              "line": 50,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "separator",
          "description": "The separator when a column displays multiple fields",
          "sourceRange": {
            "start": {
              "line": 56,
              "column": 6
            },
            "end": {
              "line": 58,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "label",
          "description": "The label of the column",
          "sourceRange": {
            "start": {
              "line": 64,
              "column": 6
            },
            "end": {
              "line": 66,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "width",
          "description": "The width of the column",
          "sourceRange": {
            "start": {
              "line": 72,
              "column": 6
            },
            "end": {
              "line": 74,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "fixed",
          "description": "The fixed way a column fixed",
          "sourceRange": {
            "start": {
              "line": 80,
              "column": 6
            },
            "end": {
              "line": 82,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "type",
          "description": "The fixed way a column fixed",
          "sourceRange": {
            "start": {
              "line": 88,
              "column": 6
            },
            "end": {
              "line": 91,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "tmpl",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 93,
              "column": 6
            },
            "end": {
              "line": 93,
              "column": 18
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "model-as",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 95,
              "column": 6
            },
            "end": {
              "line": 98,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "sortable",
          "description": "Whether the column is sortable",
          "sourceRange": {
            "start": {
              "line": 105,
              "column": 6
            },
            "end": {
              "line": 108,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "frozen",
          "description": "Whether the column is frozen",
          "sourceRange": {
            "start": {
              "line": 115,
              "column": 6
            },
            "end": {
              "line": 118,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "formatter",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 120,
              "column": 6
            },
            "end": {
              "line": 120,
              "column": 25
            }
          },
          "metadata": {},
          "type": "Function | null | undefined"
        },
        {
          "name": "cell-style",
          "description": "The column style, can set the color, alignment,etc.",
          "sourceRange": {
            "start": {
              "line": 126,
              "column": 6
            },
            "end": {
              "line": 128,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "default-value",
          "description": "The default value of the column",
          "sourceRange": {
            "start": {
              "line": 134,
              "column": 6
            },
            "end": {
              "line": 136,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-table-column"
    },
    {
      "description": "`isu-grid`\n\nExample:\n```html\n<isu-table-column-sub model-as=\"user\">\n  <template>\n   <div class=\"ext-container\">\n   <div>姓名：[[user.name]]</div>\n   <div>sex: [[user.sex]]</div>\n   <div>phone: [[user.phone]]</div>\n   </div>\n  </template>\n</isu-table-column-sub>\n\n```",
      "summary": "",
      "path": "isu-table-column-sub.js",
      "properties": [
        {
          "name": "prop",
          "type": "string",
          "description": "The key whose value needs to be displayed in the td. eg: 'sex'",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 38,
              "column": 6
            },
            "end": {
              "line": 40,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "props",
          "type": "string",
          "description": "The keys whose values need to be displayed in the td. eg: 'sex,name'",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 46,
              "column": 6
            },
            "end": {
              "line": 48,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "separator",
          "type": "string",
          "description": "The separator when a column displays multiple fields",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 54,
              "column": 6
            },
            "end": {
              "line": 56,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "tmpl",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 58,
              "column": 6
            },
            "end": {
              "line": 58,
              "column": 18
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "modelAs",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 60,
              "column": 6
            },
            "end": {
              "line": 63,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"item\""
        }
      ],
      "methods": [
        {
          "name": "_findTemplate",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 83,
              "column": 2
            },
            "end": {
              "line": 86,
              "column": 3
            }
          },
          "metadata": {},
          "params": []
        },
        {
          "name": "stampTemplate",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 88,
              "column": 2
            },
            "end": {
              "line": 91,
              "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": 26,
          "column": 0
        },
        "end": {
          "line": 92,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuTableColumn",
      "attributes": [
        {
          "name": "prop",
          "description": "The key whose value needs to be displayed in the td. eg: 'sex'",
          "sourceRange": {
            "start": {
              "line": 38,
              "column": 6
            },
            "end": {
              "line": 40,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "props",
          "description": "The keys whose values need to be displayed in the td. eg: 'sex,name'",
          "sourceRange": {
            "start": {
              "line": 46,
              "column": 6
            },
            "end": {
              "line": 48,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "separator",
          "description": "The separator when a column displays multiple fields",
          "sourceRange": {
            "start": {
              "line": 54,
              "column": 6
            },
            "end": {
              "line": 56,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "tmpl",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 58,
              "column": 6
            },
            "end": {
              "line": 58,
              "column": 18
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "model-as",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 60,
              "column": 6
            },
            "end": {
              "line": 63,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-table-column-sub"
    },
    {
      "description": "`isu-table`\n```html\n\n```",
      "summary": "",
      "path": "isu-table.js",
      "properties": [
        {
          "name": "data",
          "type": "array",
          "description": "The data array of the table",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 847,
              "column": 6
            },
            "end": {
              "line": 853,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"__dataChanged\"",
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "colspan",
          "type": "array",
          "description": "The colspan of the table",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 860,
              "column": 6
            },
            "end": {
              "line": 863,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "columnInfos",
          "type": "array",
          "description": "The column infos of the table",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 869,
              "column": 6
            },
            "end": {
              "line": 871,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "assignedElements",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 873,
              "column": 6
            },
            "end": {
              "line": 875,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "noDataMsg",
          "type": "string | null | undefined",
          "description": "Custom no data prompt, default is '无数据'",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 880,
              "column": 6
            },
            "end": {
              "line": 883,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"无数据\""
        },
        {
          "name": "__tableData",
          "type": "Array | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 885,
              "column": 6
            },
            "end": {
              "line": 887,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "showSummary",
          "type": "array",
          "description": "Is show summary, footer combined",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 893,
              "column": 6
            },
            "end": {
              "line": 896,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "tooltip",
          "type": "boolean",
          "description": "Whether to display tooltip information or not",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 903,
              "column": 6
            },
            "end": {
              "line": 907,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "showIndex",
          "type": "boolean",
          "description": "Whether to display the serial number",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 914,
              "column": 6
            },
            "end": {
              "line": 917,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "selectable",
          "type": "boolean",
          "description": "If true, the items are selectable",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 924,
              "column": 6
            },
            "end": {
              "line": 927,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "radio",
          "type": "boolean",
          "description": "If true, you can only choose one. If you want to use this attribute, make sure selectable is true.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 934,
              "column": 6
            },
            "end": {
              "line": 937,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "__showExpansion",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 939,
              "column": 6
            },
            "end": {
              "line": 942,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "__showSecondChildRow",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 944,
              "column": 6
            },
            "end": {
              "line": 947,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "__selectedState",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 949,
              "column": 6
            },
            "end": {
              "line": 949,
              "column": 30
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "height",
          "type": "number",
          "description": "The height of the table",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 955,
              "column": 6
            },
            "end": {
              "line": 957,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "tableBodyStyle",
          "type": "number",
          "description": "The css style of the table`s body",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 963,
              "column": 6
            },
            "end": {
              "line": 965,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "__tableFixed",
          "type": "array",
          "description": "The table items array that are fixed.`isu-table-column` element needs to have the `fixed`",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 971,
              "column": 6
            },
            "end": {
              "line": 973,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "__tableFixedRight",
          "type": "array",
          "description": "The table items array that are fixed in the right. `isu-table-column` element needs to have the `fixed=\"right\"`",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 979,
              "column": 6
            },
            "end": {
              "line": 979,
              "column": 30
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Array"
            }
          }
        },
        {
          "name": "tableFixedStyle",
          "type": "string",
          "description": "The css style of the fixed table`s items",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 985,
              "column": 6
            },
            "end": {
              "line": 985,
              "column": 29
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "tableFixedRightStyle",
          "type": "string",
          "description": "The css style of the fixed table`s items in the right",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 991,
              "column": 6
            },
            "end": {
              "line": 993,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "expandOnClickRow",
          "type": "boolean",
          "description": "if true, the child row will expand when click the row",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 999,
              "column": 6
            },
            "end": {
              "line": 1002,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "subElement",
          "type": "array",
          "description": "The column infos of the table",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 1008,
              "column": 6
            },
            "end": {
              "line": 1010,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "__sortTheColumn",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 555,
              "column": 2
            },
            "end": {
              "line": 602,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  currentTarget: container,\n  model\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__calColspan",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 604,
              "column": 2
            },
            "end": {
              "line": 611,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "columnInfos",
              "defaultValue": "[]"
            },
            {
              "name": "sub"
            }
          ]
        },
        {
          "name": "__shareOpenExpanderHandler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 613,
              "column": 2
            },
            "end": {
              "line": 617,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "icon"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "target"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__openExpanderHandler",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 619,
              "column": 2
            },
            "end": {
              "line": 623,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__operateTableRow",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 625,
              "column": 2
            },
            "end": {
              "line": 630,
              "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": 632,
              "column": 2
            },
            "end": {
              "line": 636,
              "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": 638,
              "column": 2
            },
            "end": {
              "line": 640,
              "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": 642,
              "column": 2
            },
            "end": {
              "line": 650,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  model: {\n    row,\n    rowIndex\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__rowSelecttionAll",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 652,
              "column": 2
            },
            "end": {
              "line": 656,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__appendTmplContent",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 658,
              "column": 2
            },
            "end": {
              "line": 665,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "targetSelector"
            },
            {
              "name": "model"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "columnTag"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__dataChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 667,
              "column": 2
            },
            "end": {
              "line": 670,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "data",
              "defaultValue": "[]"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "__calShowExpansion",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 672,
              "column": 2
            },
            "end": {
              "line": 674,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "sub"
            }
          ]
        },
        {
          "name": "__calShowSecondChildRow",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 676,
              "column": 2
            },
            "end": {
              "line": 678,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "sub"
            },
            {
              "name": "expandOnClickRow"
            }
          ]
        },
        {
          "name": "isDisabledSelection",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 680,
              "column": 2
            },
            "end": {
              "line": 683,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            }
          ]
        },
        {
          "name": "getSelectedRows",
          "description": "获取选中的行",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 689,
              "column": 2
            },
            "end": {
              "line": 691,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "any"
          }
        },
        {
          "name": "shareComputeExpansion",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 693,
              "column": 2
            },
            "end": {
              "line": 706,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "targetSelect"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "computeExpansion",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 708,
              "column": 2
            },
            "end": {
              "line": 710,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "computeExpansionFixed",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 712,
              "column": 2
            },
            "end": {
              "line": 714,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "computeExpansionFixedRight",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 716,
              "column": 2
            },
            "end": {
              "line": 718,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "shareComputeContent",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 720,
              "column": 2
            },
            "end": {
              "line": 739,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "column"
            },
            {
              "name": "targetSelect"
            }
          ]
        },
        {
          "name": "computeContent",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 741,
              "column": 2
            },
            "end": {
              "line": 743,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "column"
            },
            {
              "name": "columnIndex"
            }
          ]
        },
        {
          "name": "computeContentFixed",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 745,
              "column": 2
            },
            "end": {
              "line": 747,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "column"
            },
            {
              "name": "columnIndex"
            }
          ]
        },
        {
          "name": "computeContentFixedRight",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 749,
              "column": 2
            },
            "end": {
              "line": 751,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "row"
            },
            {
              "name": "rowIndex"
            },
            {
              "name": "column"
            },
            {
              "name": "columnIndex"
            }
          ]
        },
        {
          "name": "connectedCallback",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 753,
              "column": 2
            },
            "end": {
              "line": 796,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "domReady",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 798,
              "column": 2
            },
            "end": {
              "line": 837,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-table/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 23,
          "column": 0
        },
        "end": {
          "line": 1017,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuTable",
      "attributes": [
        {
          "name": "data",
          "description": "The data array of the table",
          "sourceRange": {
            "start": {
              "line": 847,
              "column": 6
            },
            "end": {
              "line": 853,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "colspan",
          "description": "The colspan of the table",
          "sourceRange": {
            "start": {
              "line": 860,
              "column": 6
            },
            "end": {
              "line": 863,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "column-infos",
          "description": "The column infos of the table",
          "sourceRange": {
            "start": {
              "line": 869,
              "column": 6
            },
            "end": {
              "line": 871,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "assigned-elements",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 873,
              "column": 6
            },
            "end": {
              "line": 875,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "no-data-msg",
          "description": "Custom no data prompt, default is '无数据'",
          "sourceRange": {
            "start": {
              "line": 880,
              "column": 6
            },
            "end": {
              "line": 883,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "show-summary",
          "description": "Is show summary, footer combined",
          "sourceRange": {
            "start": {
              "line": 893,
              "column": 6
            },
            "end": {
              "line": 896,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "tooltip",
          "description": "Whether to display tooltip information or not",
          "sourceRange": {
            "start": {
              "line": 903,
              "column": 6
            },
            "end": {
              "line": 907,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "show-index",
          "description": "Whether to display the serial number",
          "sourceRange": {
            "start": {
              "line": 914,
              "column": 6
            },
            "end": {
              "line": 917,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "selectable",
          "description": "If true, the items are selectable",
          "sourceRange": {
            "start": {
              "line": 924,
              "column": 6
            },
            "end": {
              "line": 927,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "radio",
          "description": "If true, you can only choose one. If you want to use this attribute, make sure selectable is true.",
          "sourceRange": {
            "start": {
              "line": 934,
              "column": 6
            },
            "end": {
              "line": 937,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "height",
          "description": "The height of the table",
          "sourceRange": {
            "start": {
              "line": 955,
              "column": 6
            },
            "end": {
              "line": 957,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "table-body-style",
          "description": "The css style of the table`s body",
          "sourceRange": {
            "start": {
              "line": 963,
              "column": 6
            },
            "end": {
              "line": 965,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "table-fixed-style",
          "description": "The css style of the fixed table`s items",
          "sourceRange": {
            "start": {
              "line": 985,
              "column": 6
            },
            "end": {
              "line": 985,
              "column": 29
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "table-fixed-right-style",
          "description": "The css style of the fixed table`s items in the right",
          "sourceRange": {
            "start": {
              "line": 991,
              "column": 6
            },
            "end": {
              "line": 993,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "expand-on-click-row",
          "description": "if true, the child row will expand when click the row",
          "sourceRange": {
            "start": {
              "line": 999,
              "column": 6
            },
            "end": {
              "line": 1002,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "sub-element",
          "description": "The column infos of the table",
          "sourceRange": {
            "start": {
              "line": 1008,
              "column": 6
            },
            "end": {
              "line": 1010,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        }
      ],
      "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 | {}\n|`--isu-view-text` | Mixin applied to the text when the readonly and is-view is true | {}",
      "summary": "",
      "path": "isu-textarea.js",
      "properties": [
        {
          "name": "textarea",
          "type": "?",
          "description": "Returns the underlying textarea.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 281,
              "column": 2
            },
            "end": {
              "line": 283,
              "column": 3
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true
            }
          }
        },
        {
          "name": "selectionStart",
          "type": "?",
          "description": "Returns textarea's selection start.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 289,
              "column": 2
            },
            "end": {
              "line": 291,
              "column": 3
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          }
        },
        {
          "name": "selectionEnd",
          "type": "?",
          "description": "Returns textarea's selection end.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 297,
              "column": 2
            },
            "end": {
              "line": 299,
              "column": 3
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": false
            }
          }
        },
        {
          "name": "value",
          "type": "(string | number)",
          "description": "The value of the textarea.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 6
            },
            "end": {
              "line": 142,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "rows",
          "type": "number",
          "description": "The initial number of rows.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 151,
              "column": 6
            },
            "end": {
              "line": 154,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "1"
        },
        {
          "name": "cols",
          "type": "number",
          "description": "The initial number of cols",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 160,
              "column": 6
            },
            "end": {
              "line": 163,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "1"
        },
        {
          "name": "autocomplete",
          "type": "string",
          "description": "Bound to the textarea's `autocomplete` attribute.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 170,
              "column": 6
            },
            "end": {
              "line": 173,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"off\""
        },
        {
          "name": "autofocus",
          "type": "boolean",
          "description": "Bound to the textarea's `autofocus` attribute.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 183,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "inputmode",
          "type": "string",
          "description": "Bound to the textarea's `inputmode` attribute.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 188,
              "column": 6
            },
            "end": {
              "line": 190,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "placeholder",
          "type": "string",
          "description": "Bound to the textarea's `placeholder` attribute.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 195,
              "column": 6
            },
            "end": {
              "line": 197,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "readonly",
          "type": "boolean",
          "description": "Bound to the textarea's `readonly` attribute.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 202,
              "column": 6
            },
            "end": {
              "line": 204,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "required",
          "type": "boolean",
          "description": "Set to true to mark the textarea as required.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 210,
              "column": 6
            },
            "end": {
              "line": 213,
              "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": 218,
              "column": 6
            },
            "end": {
              "line": 220,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "maxlength",
          "type": "number",
          "description": "The maximum length of the input value.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 226,
              "column": 6
            },
            "end": {
              "line": 228,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "label",
          "type": "string",
          "description": "Bound to the textarea's `aria-label` attribute.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 234,
              "column": 6
            },
            "end": {
              "line": 236,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "prompt",
          "type": "string",
          "description": "The prompt to show when textarea is invalid.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 241,
              "column": 6
            },
            "end": {
              "line": 243,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "promptPosition",
          "type": "string | null | undefined",
          "description": "The prompt tip's position. top/bottom",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 249,
              "column": 6
            },
            "end": {
              "line": 252,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"\""
        },
        {
          "name": "isView",
          "type": "boolean",
          "description": "The text mode display requires readonly=true to take effect",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 258,
              "column": 6
            },
            "end": {
              "line": 261,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "__refreshUIState",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 315,
              "column": 2
            },
            "end": {
              "line": 321,
              "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": 328,
              "column": 2
            },
            "end": {
              "line": 330,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "boolean",
            "desc": "True if the value is valid."
          }
        },
        {
          "name": "__isViewChanged",
          "description": "",
          "privacy": "private",
          "sourceRange": {
            "start": {
              "line": 332,
              "column": 2
            },
            "end": {
              "line": 334,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isView"
            },
            {
              "name": "readonly"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_isView",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 336,
              "column": 2
            },
            "end": {
              "line": 338,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isView"
            },
            {
              "name": "readonly"
            }
          ]
        },
        {
          "name": "doFocus",
          "description": "Set focus to textarea.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 343,
              "column": 2
            },
            "end": {
              "line": 345,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-textarea/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 32,
          "column": 0
        },
        "end": {
          "line": 346,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuTextarea",
      "attributes": [
        {
          "name": "value",
          "description": "The value of the textarea.",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 6
            },
            "end": {
              "line": 142,
              "column": 7
            }
          },
          "metadata": {},
          "type": "(string | number)"
        },
        {
          "name": "rows",
          "description": "The initial number of rows.",
          "sourceRange": {
            "start": {
              "line": 151,
              "column": 6
            },
            "end": {
              "line": 154,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "cols",
          "description": "The initial number of cols",
          "sourceRange": {
            "start": {
              "line": 160,
              "column": 6
            },
            "end": {
              "line": 163,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "autocomplete",
          "description": "Bound to the textarea's `autocomplete` attribute.",
          "sourceRange": {
            "start": {
              "line": 170,
              "column": 6
            },
            "end": {
              "line": 173,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "autofocus",
          "description": "Bound to the textarea's `autofocus` attribute.",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 183,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "inputmode",
          "description": "Bound to the textarea's `inputmode` attribute.",
          "sourceRange": {
            "start": {
              "line": 188,
              "column": 6
            },
            "end": {
              "line": 190,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "placeholder",
          "description": "Bound to the textarea's `placeholder` attribute.",
          "sourceRange": {
            "start": {
              "line": 195,
              "column": 6
            },
            "end": {
              "line": 197,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "readonly",
          "description": "Bound to the textarea's `readonly` attribute.",
          "sourceRange": {
            "start": {
              "line": 202,
              "column": 6
            },
            "end": {
              "line": 204,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "required",
          "description": "Set to true to mark the textarea as required.",
          "sourceRange": {
            "start": {
              "line": 210,
              "column": 6
            },
            "end": {
              "line": 213,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "minlength",
          "description": "The minimum length of the input value.",
          "sourceRange": {
            "start": {
              "line": 218,
              "column": 6
            },
            "end": {
              "line": 220,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "maxlength",
          "description": "The maximum length of the input value.",
          "sourceRange": {
            "start": {
              "line": 226,
              "column": 6
            },
            "end": {
              "line": 228,
              "column": 7
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "label",
          "description": "Bound to the textarea's `aria-label` attribute.",
          "sourceRange": {
            "start": {
              "line": 234,
              "column": 6
            },
            "end": {
              "line": 236,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "prompt",
          "description": "The prompt to show when textarea is invalid.",
          "sourceRange": {
            "start": {
              "line": 241,
              "column": 6
            },
            "end": {
              "line": 243,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "prompt-position",
          "description": "The prompt tip's position. top/bottom",
          "sourceRange": {
            "start": {
              "line": 249,
              "column": 6
            },
            "end": {
              "line": 252,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "is-view",
          "description": "The text mode display requires readonly=true to take effect",
          "sourceRange": {
            "start": {
              "line": 258,
              "column": 6
            },
            "end": {
              "line": 261,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "value-changed",
          "description": "Fired when the `value` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-textarea"
    },
    {
      "description": "`isu-toggles`\n```html\n <isu-toggles  label=\"开关：\"></isu-toggles>\n <isu-toggles  label=\"只读：\" readonly></isu-toggles>\n <isu-toggles  prefix-label=\"前缀\"></isu-toggles>\n <isu-toggles  suffix-label=\"后缀\"></isu-toggles>\n```",
      "summary": "",
      "path": "isu-toggles.js",
      "properties": [
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 117,
              "column": 6
            },
            "end": {
              "line": 119,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "readonly",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 121,
              "column": 6
            },
            "end": {
              "line": 125,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "prefixLabel",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 127,
              "column": 6
            },
            "end": {
              "line": 129,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "suffixLabel",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 131,
              "column": 6
            },
            "end": {
              "line": 133,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "value",
          "type": "boolean | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 135,
              "column": 6
            },
            "end": {
              "line": 139,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        }
      ],
      "methods": [
        {
          "name": "ready",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 144,
              "column": 2
            },
            "end": {
              "line": 146,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-toggles/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 147,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuToggles",
      "attributes": [
        {
          "name": "label",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 117,
              "column": 6
            },
            "end": {
              "line": 119,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "readonly",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 121,
              "column": 6
            },
            "end": {
              "line": 125,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "prefix-label",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 127,
              "column": 6
            },
            "end": {
              "line": 129,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "suffix-label",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 131,
              "column": 6
            },
            "end": {
              "line": 133,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "value",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 135,
              "column": 6
            },
            "end": {
              "line": 139,
              "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-toggles"
    },
    {
      "description": "`isu-upload`\n\nExample:\n```html\n <isu-upload accept=\"\" multiple src=\"src\" id=\"upload\"></isu-upload>\n```\n\n* ### Styling\n\n`<isu-upload>` provides the following custom properties and mixins\nfor styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--isu-upload-toolbar` | Mixin applied to the isu-upload component | {}\n`--isu-upload-choose-button` | Mixin applied to the choose file button | {}\n`--isu-upload-upload-button` | Mixin applied to the choose file button| {}\n`--isu-ui-orange` | The color of the upload button | `#fdb03d`",
      "summary": "",
      "path": "isu-upload.js",
      "properties": [
        {
          "name": "accept",
          "type": "string",
          "description": "Specifies a filter for what file types the user can pick from the file input dialog box",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 144,
              "column": 6
            },
            "end": {
              "line": 146,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "multiple",
          "type": "boolean",
          "description": "Specifies that a user can enter more than one value in an <input> element",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 153,
              "column": 6
            },
            "end": {
              "line": 156,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "files",
          "type": "array",
          "description": "The files that customer choose",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 163,
              "column": 6
            },
            "end": {
              "line": 167,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Array"
            }
          },
          "defaultValue": "[]"
        },
        {
          "name": "src",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 168,
              "column": 6
            },
            "end": {
              "line": 168,
              "column": 17
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "request",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 169,
              "column": 6
            },
            "end": {
              "line": 169,
              "column": 21
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "response",
          "type": "Object | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 170,
              "column": 6
            },
            "end": {
              "line": 173,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "uploadCallback",
          "type": "array",
          "description": "The callback function after uploading",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 182,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Function"
            }
          }
        },
        {
          "name": "isUpload",
          "type": "boolean",
          "description": "Whether to show the upload button or not",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 189,
              "column": 6
            },
            "end": {
              "line": 192,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "true"
        },
        {
          "name": "uploadReadonly",
          "type": "boolean",
          "description": "Whether upload button is readonly or not",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 199,
              "column": 6
            },
            "end": {
              "line": 202,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "label",
          "type": "string | null | undefined",
          "description": "The label of the uploader.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 206,
              "column": 6
            },
            "end": {
              "line": 208,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "handleAs",
          "type": "string | null | undefined",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 209,
              "column": 6
            },
            "end": {
              "line": 211,
              "column": 7
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "ready",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 219,
              "column": 2
            },
            "end": {
              "line": 221,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_triggerChooseFile",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 223,
              "column": 2
            },
            "end": {
              "line": 226,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_chooseFile",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 228,
              "column": 2
            },
            "end": {
              "line": 235,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "delete",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 237,
              "column": 2
            },
            "end": {
              "line": 240,
              "column": 3
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "{\n  model: {\n    index\n  }\n}"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "upload",
          "description": "",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 242,
              "column": 2
            },
            "end": {
              "line": 263,
              "column": 3
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/isu-upload/index.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 47,
          "column": 7
        },
        "end": {
          "line": 268,
          "column": 1
        }
      },
      "privacy": "public",
      "superclass": "HTMLElement",
      "name": "IsuUpload",
      "attributes": [
        {
          "name": "accept",
          "description": "Specifies a filter for what file types the user can pick from the file input dialog box",
          "sourceRange": {
            "start": {
              "line": 144,
              "column": 6
            },
            "end": {
              "line": 146,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "multiple",
          "description": "Specifies that a user can enter more than one value in an <input> element",
          "sourceRange": {
            "start": {
              "line": 153,
              "column": 6
            },
            "end": {
              "line": 156,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "files",
          "description": "The files that customer choose",
          "sourceRange": {
            "start": {
              "line": 163,
              "column": 6
            },
            "end": {
              "line": 167,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "src",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 168,
              "column": 6
            },
            "end": {
              "line": 168,
              "column": 17
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "request",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 169,
              "column": 6
            },
            "end": {
              "line": 169,
              "column": 21
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "response",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 170,
              "column": 6
            },
            "end": {
              "line": 173,
              "column": 7
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "upload-callback",
          "description": "The callback function after uploading",
          "sourceRange": {
            "start": {
              "line": 180,
              "column": 6
            },
            "end": {
              "line": 182,
              "column": 7
            }
          },
          "metadata": {},
          "type": "array"
        },
        {
          "name": "is-upload",
          "description": "Whether to show the upload button or not",
          "sourceRange": {
            "start": {
              "line": 189,
              "column": 6
            },
            "end": {
              "line": 192,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "upload-readonly",
          "description": "Whether upload button is readonly or not",
          "sourceRange": {
            "start": {
              "line": 199,
              "column": 6
            },
            "end": {
              "line": 202,
              "column": 7
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "label",
          "description": "The label of the uploader.",
          "sourceRange": {
            "start": {
              "line": 206,
              "column": 6
            },
            "end": {
              "line": 208,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "handle-as",
          "description": "",
          "sourceRange": {
            "start": {
              "line": 209,
              "column": 6
            },
            "end": {
              "line": 211,
              "column": 7
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [
        {
          "type": "CustomEvent",
          "name": "files-changed",
          "description": "Fired when the `files` property changes.",
          "metadata": {}
        },
        {
          "type": "CustomEvent",
          "name": "response-changed",
          "description": "Fired when the `response` property changes.",
          "metadata": {}
        }
      ],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "tagname": "isu-upload"
    }
  ],
  "metadata": {
    "polymer": {
      "behaviors": [
        {
          "description": "",
          "summary": "",
          "path": "behaviors/base-behavior.js",
          "properties": [
            {
              "name": "fontSize",
              "type": "string",
              "description": "font size of a component, eg: x-small(10px),small(12px),medium(14px),large(16px),larger(18px)",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 13,
                  "column": 4
                },
                "end": {
                  "line": 16,
                  "column": 5
                }
              },
              "metadata": {
                "polymer": {
                  "attributeType": "String"
                }
              }
            }
          ],
          "methods": [
            {
              "name": "isOneOf",
              "description": "判断第一个参数是否与后面的某个参数相等， 使用Object.is() 进行判断",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 23,
                  "column": 2
                },
                "end": {
                  "line": 30,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "args",
                  "type": "...*",
                  "rest": true
                }
              ],
              "return": {
                "type": "boolean"
              }
            },
            {
              "name": "isEqual",
              "description": "判断两个值是否相等，使用 `Object.is` 判断。",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 38,
                  "column": 2
                },
                "end": {
                  "line": 40,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "left",
                  "type": "*"
                },
                {
                  "name": "right",
                  "type": "*"
                }
              ],
              "return": {
                "type": "boolean"
              }
            },
            {
              "name": "allEqual",
              "description": "判断传入参数两两是否全部相等",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 47,
                  "column": 2
                },
                "end": {
                  "line": 52,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "args",
                  "rest": true
                }
              ],
              "return": {
                "type": "boolean"
              }
            },
            {
              "name": "someEqual",
              "description": "判断传入参数两两是否存在一对相等",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 59,
                  "column": 2
                },
                "end": {
                  "line": 64,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "args",
                  "rest": true
                }
              ],
              "return": {
                "type": "boolean"
              }
            },
            {
              "name": "isFunction",
              "description": "函数判断",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 70,
                  "column": 2
                },
                "end": {
                  "line": 72,
                  "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": 86,
                  "column": 2
                },
                "end": {
                  "line": 89,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "args",
                  "type": "...*",
                  "rest": true
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "getValueByKey",
              "description": "通过key查询对象中的值",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 98,
                  "column": 2
                },
                "end": {
                  "line": 100,
                  "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": 108,
                  "column": 2
                },
                "end": {
                  "line": 111,
                  "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": 118,
                  "column": 2
                },
                "end": {
                  "line": 121,
                  "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": 128,
                  "column": 2
                },
                "end": {
                  "line": 131,
                  "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": 137,
                  "column": 2
                },
                "end": {
                  "line": 147,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "val"
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "getValueByPath",
              "description": "通过路径获取对象字段值",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 156,
                  "column": 2
                },
                "end": {
                  "line": 168,
                  "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处理的结果"
                },
                {
                  "name": "format",
                  "type": "function",
                  "description": "添加格式化函数支持"
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "setValueByPath",
              "description": "通过路径设置对象字段值， 如果路径不存在，会抛出异常",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 177,
                  "column": 2
                },
                "end": {
                  "line": 191,
                  "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": 198,
                  "column": 2
                },
                "end": {
                  "line": 209,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "path",
                  "defaultValue": "''"
                },
                {
                  "name": "target",
                  "defaultValue": "{}"
                }
              ]
            },
            {
              "name": "toBoolean",
              "description": "To boolean.",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 215,
                  "column": 2
                },
                "end": {
                  "line": 217,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "val",
                  "type": "*"
                }
              ]
            },
            {
              "name": "isAllTrue",
              "description": "",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 219,
                  "column": 2
                },
                "end": {
                  "line": 222,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "args",
                  "rest": true
                }
              ]
            },
            {
              "name": "isAllFalse",
              "description": "",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 224,
                  "column": 2
                },
                "end": {
                  "line": 227,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "args",
                  "rest": true
                }
              ]
            },
            {
              "name": "isExistTruthy",
              "description": "check if there's a truthy in the giving args",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 233,
                  "column": 2
                },
                "end": {
                  "line": 235,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "args",
                  "rest": true
                }
              ]
            },
            {
              "name": "trimStr",
              "description": "移除字符串中所有的空格",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 241,
                  "column": 2
                },
                "end": {
                  "line": 246,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "str",
                  "defaultValue": "''"
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "isArrayEmpty",
              "description": "Check if an array is empty.",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 252,
                  "column": 2
                },
                "end": {
                  "line": 254,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "arr",
                  "defaultValue": "[]"
                }
              ],
              "return": {
                "type": "boolean"
              }
            },
            {
              "name": "isEmptyObject",
              "description": "判断是否空对象, []、{}、null、undefined、'' 皆为空对象，特殊的，function和0、'0'不属于空对象",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 260,
                  "column": 2
                },
                "end": {
                  "line": 272,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "entity"
                }
              ],
              "return": {
                "type": "boolean"
              }
            },
            {
              "name": "calc",
              "description": "简单数学运算",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 280,
                  "column": 2
                },
                "end": {
                  "line": 295,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "first"
                },
                {
                  "name": "op"
                },
                {
                  "name": "nums",
                  "rest": true
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "toggleClass",
              "description": "",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 297,
                  "column": 2
                },
                "end": {
                  "line": 305,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "target"
                },
                {
                  "name": "className"
                }
              ],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "showLoading",
              "description": "添加loading",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 310,
                  "column": 2
                },
                "end": {
                  "line": 324,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "ele"
                }
              ],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "hideLoading",
              "description": "消除loading",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 328,
                  "column": 2
                },
                "end": {
                  "line": 335,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "ele"
                }
              ],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "_hideLoading",
              "description": "",
              "privacy": "protected",
              "sourceRange": {
                "start": {
                  "line": 336,
                  "column": 2
                },
                "end": {
                  "line": 338,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "loadingDiv"
                }
              ],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "showNprogress",
              "description": "添加Nprogress， loading的另一种表现形式",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 343,
                  "column": 2
                },
                "end": {
                  "line": 354,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "startNprogress",
              "description": "",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 355,
                  "column": 2
                },
                "end": {
                  "line": 357,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "hideNprogress",
              "description": "消除Nprogress",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 361,
                  "column": 2
                },
                "end": {
                  "line": 363,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "throwNotFoundError",
              "description": "",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 365,
                  "column": 2
                },
                "end": {
                  "line": 367,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "string"
                }
              ],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "deepClone",
              "description": "",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 369,
                  "column": 2
                },
                "end": {
                  "line": 388,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "data"
                }
              ]
            },
            {
              "name": "_judgeType",
              "description": "",
              "privacy": "protected",
              "sourceRange": {
                "start": {
                  "line": 390,
                  "column": 2
                },
                "end": {
                  "line": 409,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "obj"
                }
              ]
            },
            {
              "name": "optional",
              "description": "",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 410,
                  "column": 2
                },
                "end": {
                  "line": 412,
                  "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": 425,
                  "column": 2
                },
                "end": {
                  "line": 441,
                  "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": 453,
                  "column": 2
                },
                "end": {
                  "line": 473,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "array"
                },
                {
                  "name": "predicate"
                }
              ]
            },
            {
              "name": "getInvalidAttribute",
              "description": "get date-invalid attribute",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 481,
                  "column": 2
                },
                "end": {
                  "line": 483,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "setStorageValue",
              "description": "set value to storage(sessionStorage or localStorage)",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 491,
                  "column": 2
                },
                "end": {
                  "line": 495,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "key"
                },
                {
                  "name": "value"
                },
                {
                  "name": "sessionOnly",
                  "defaultValue": "true",
                  "description": ", default true, if true ? sessionStorage, else localStorage"
                }
              ],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "getStorageValue",
              "description": "get value from storage(sessionStorage or localStorage)",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 503,
                  "column": 2
                },
                "end": {
                  "line": 507,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "key"
                },
                {
                  "name": "sessionOnly",
                  "type": "boolean",
                  "defaultValue": "true",
                  "description": ", default true, if true ? sessionStorage, else localStorage"
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "validate",
              "description": "check the validate, override by the child component",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 515,
                  "column": 2
                },
                "end": {
                  "line": 516,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [],
              "return": {
                "type": "void"
              }
            }
          ],
          "staticMethods": [],
          "demos": [],
          "metadata": {},
          "sourceRange": {
            "start": {
              "line": 5,
              "column": 13
            },
            "end": {
              "line": 517,
              "column": 1
            }
          },
          "privacy": "public",
          "name": "BaseBehavior",
          "attributes": [
            {
              "name": "font-size",
              "description": "font size of a component, eg: x-small(10px),small(12px),medium(14px),large(16px),larger(18px)",
              "sourceRange": {
                "start": {
                  "line": 13,
                  "column": 4
                },
                "end": {
                  "line": 16,
                  "column": 5
                }
              },
              "metadata": {},
              "type": "string"
            }
          ],
          "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": 89,
                  "column": 3
                }
              },
              "metadata": {
                "polymer": {
                  "readOnly": false
                }
              }
            }
          ],
          "methods": [],
          "staticMethods": [],
          "demos": [],
          "metadata": {},
          "sourceRange": {
            "start": {
              "line": 5,
              "column": 13
            },
            "end": {
              "line": 90,
              "column": 1
            }
          },
          "privacy": "public",
          "name": "TipBehavior",
          "attributes": [],
          "events": [],
          "styling": {
            "cssVariables": [],
            "selectors": []
          },
          "slots": []
        },
        {
          "description": " ",
          "summary": "",
          "path": "behaviors/ajax-behavior.js",
          "properties": [],
          "methods": [
            {
              "name": "query",
              "description": "GET 请求\n\n例子：\n```javascript\n1. 直接传递一个Request 实例\n const req = new Request('/test?foo=1&bar=2', {method: 'GET'});\n this.query(req).then(() => console.log());\n\n2. 直接传递一个url\n this.query('/test').then(() => console.log());\n\n3. 直接传递一个包含url、data内容的对象\n this.query({\n      url: '/test',\n      data: { foo:1, bar:2 },\n      handleAs: 'json'\n  }).then(() => console.log());\n```\n******************************************************",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 41,
                  "column": 2
                },
                "end": {
                  "line": 59,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "input"
                },
                {
                  "name": "loadConfig",
                  "defaultValue": "{\n  showLoading: true,\n  type: 'loading'\n}",
                  "description": "=> default: { showLoading: true, type: 'loading' }"
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "post",
              "description": "POST 请求\n\n```javascript\n1. 直接传递一个Request 实例\n const req = new Request('/test?foo=1&bar=2', {method: 'POST'});\n this.post(req).then(() => console.log());\n\n2. 直接传递一个url\n this.post('/test').then(() => console.log());\n\n3. 直接传递一个包含url、data内容的对象\n this.post({\n      url: '/test',\n      data: { foo:1, bar:2 }\n  }).then(() => console.log());\n\n 4. 上传文件\n const formData = new FormData();\n formData.append('file1', new File([], 'filename'));\n this.post({\n     url: '/upload',\n     data: formData\n }).then(() => console.log());\n\n 5. 发送json格式的数据\n this.post({\n     url: '/upload',\n     data: {foo:1,bar:2},\n     sendAsJson: true\n }).then(() => console.log());\n```\n******************************************************",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 108,
                  "column": 2
                },
                "end": {
                  "line": 128,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "input",
                  "type": "(string | Request | Object)",
                  "description": "     支持3种类型： String|Request|Object\n     1. Request实例\n     2. string：请求url\n     3: Object： 对象结构要求 { url , data, handleAs, sendAsJson}\n         url：必填项\n         data：可选\n         handleAs：string, 可选，默认值是\"json\"， 取值范围: text|json|blob|formData|arrayBuffer\n         sendAsJson：boolean 可选，默认值是false"
                },
                {
                  "name": "loadConfig",
                  "defaultValue": "{\n  showLoading: true,\n  type: 'loading'\n}"
                }
              ],
              "return": {
                "type": "*"
              }
            },
            {
              "name": "delete",
              "description": "DELETE 请求\n\n例子：\n```javascript\n1. 直接传递一个Request 实例\n const req = new Request('/test?foo=1&bar=2', {method: 'GET'});\n this.delete(req).then(() => console.log());\n\n2. 直接传递一个url\n this.delete('/test').then(() => console.log());\n\n3. 直接传递一个包含url、data内容的对象\n this.delete({\n      url: '/test',\n      data: { foo:1, bar:2 },\n      handleAs: 'json'\n  }).then(() => console.log());\n```\n******************************************************",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 163,
                  "column": 2
                },
                "end": {
                  "line": 181,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "input",
                  "type": "(string | Request | Object)",
                  "description": "     支持3种类型： String|Request|Object\n     1. Request实例\n     2. string：请求url\n     3: Object： 对象结构要求 { url , data, handleAs}\n         url：必填项\n         data：可选\n         handleAs：string, 可选，默认值是\"json\"， 取值范围: text|json|blob|formData|arrayBuffers"
                },
                {
                  "name": "loadConfig",
                  "defaultValue": "{\n  showLoading: true,\n  type: 'loading'\n}",
                  "description": "=> default: { showLoading: true, type: 'loading' }"
                }
              ]
            },
            {
              "name": "__get",
              "description": "",
              "privacy": "private",
              "sourceRange": {
                "start": {
                  "line": 183,
                  "column": 2
                },
                "end": {
                  "line": 193,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "handleAs"
                },
                {
                  "name": "{\n  url,\n  data\n}"
                },
                {
                  "name": "loadConfig"
                }
              ]
            },
            {
              "name": "__post",
              "description": "",
              "privacy": "private",
              "sourceRange": {
                "start": {
                  "line": 195,
                  "column": 2
                },
                "end": {
                  "line": 218,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "handleAs"
                },
                {
                  "name": "{\n  url,\n  data,\n  sendAsJson\n}"
                },
                {
                  "name": "loadConfig"
                }
              ]
            },
            {
              "name": "__delete",
              "description": "",
              "privacy": "private",
              "sourceRange": {
                "start": {
                  "line": 220,
                  "column": 2
                },
                "end": {
                  "line": 230,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "handleAs"
                },
                {
                  "name": "{\n  url,\n  data\n}"
                },
                {
                  "name": "loadConfig"
                }
              ]
            },
            {
              "name": "__fetch",
              "description": "loadConfig = { showLoading: true, type: 'nprogress' }\n参数介绍： showLoading @type {boolean} @default false\n          type @type string @default `loading` , value: `loading`|`nprogress`, if value !== `nprogress`, value === `loading`",
              "privacy": "private",
              "sourceRange": {
                "start": {
                  "line": 243,
                  "column": 2
                },
                "end": {
                  "line": 271,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "handleAs"
                },
                {
                  "name": "request"
                },
                {
                  "name": "loadConfig",
                  "defaultValue": "{\n  showLoading: true,\n  type: 'loading'\n}",
                  "description": "=> default: { showLoading: true, type: 'loading' }"
                }
              ]
            },
            {
              "name": "hideLoadingByStatus",
              "description": "根据参数设置隐藏loading的方式",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 276,
                  "column": 2
                },
                "end": {
                  "line": 289,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "{\n  showLoading,\n  type\n}"
                }
              ],
              "return": {
                "type": "void"
              }
            },
            {
              "name": "showLoadingByStatus",
              "description": "根据参数设置显示loading的方式",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 294,
                  "column": 2
                },
                "end": {
                  "line": 307,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "{\n  showLoading,\n  type\n}"
                }
              ],
              "return": {
                "type": "void"
              }
            }
          ],
          "staticMethods": [],
          "demos": [],
          "metadata": {},
          "sourceRange": {
            "start": {
              "line": 5,
              "column": 6
            },
            "end": {
              "line": 308,
              "column": 1
            }
          },
          "privacy": "public",
          "name": "AjaxBehaviorImpl",
          "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": 39,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "date",
                  "description": "时间戳（毫秒）"
                },
                {
                  "name": "fmt",
                  "description": "显示格式，默认为'YYYY-MM-DD hh:mm:ss'"
                },
                {
                  "name": "emptyReturn",
                  "description": "默认空值返回数据"
                }
              ]
            },
            {
              "name": "_reMatch",
              "description": "",
              "privacy": "protected",
              "sourceRange": {
                "start": {
                  "line": 40,
                  "column": 2
                },
                "end": {
                  "line": 51,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "str"
                }
              ]
            },
            {
              "name": "_each",
              "description": "",
              "privacy": "protected",
              "sourceRange": {
                "start": {
                  "line": 52,
                  "column": 2
                },
                "end": {
                  "line": 56,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "maStr"
                }
              ]
            },
            {
              "name": "dateToTimestamp",
              "description": "将日期转化成时间戳",
              "privacy": "public",
              "sourceRange": {
                "start": {
                  "line": 62,
                  "column": 2
                },
                "end": {
                  "line": 65,
                  "column": 3
                }
              },
              "metadata": {},
              "params": [
                {
                  "name": "date",
                  "description": "日期"
                }
              ],
              "return": {
                "desc": "emptyReturn 默认空值返回数据"
              }
            }
          ],
          "staticMethods": [],
          "demos": [],
          "metadata": {},
          "sourceRange": {
            "start": {
              "line": 6,
              "column": 13
            },
            "end": {
              "line": 66,
              "column": 1
            }
          },
          "privacy": "public",
          "name": "FormatBehavior",
          "attributes": [],
          "events": [],
          "styling": {
            "cssVariables": [],
            "selectors": []
          },
          "slots": []
        }
      ]
    }
  },
  "classes": [
    {
      "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": "缓存搜索的插件\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"
    }
  ]
}
