{
  "schema_version": "1.0.0",
  "mixins": [
    {
      "description": "Mixin that provides web-color-properties. Its `color-string` converts automatically beetween different formats (hex, rgb and hsl) and provides an alpha-colorString.",
      "summary": "",
      "path": "color-mixin.js",
      "properties": [
        {
          "name": "hex",
          "type": "string | null | undefined",
          "description": "Hex-color",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 286,
              "column": 8
            },
            "end": {
              "line": 290,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_hexChanged\"",
              "attributeType": "String"
            }
          }
        },
        {
          "name": "r",
          "type": "number | null | undefined",
          "description": "Red",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 295,
              "column": 8
            },
            "end": {
              "line": 298,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "g",
          "type": "number | null | undefined",
          "description": "Green",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 303,
              "column": 8
            },
            "end": {
              "line": 306,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "b",
          "type": "number | null | undefined",
          "description": "Blue",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 311,
              "column": 8
            },
            "end": {
              "line": 314,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "h",
          "type": "number | null | undefined",
          "description": "Hue",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 319,
              "column": 8
            },
            "end": {
              "line": 322,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "s",
          "type": "number | null | undefined",
          "description": "Saturation (hsl)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 327,
              "column": 8
            },
            "end": {
              "line": 330,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "l",
          "type": "number | null | undefined",
          "description": "Lightness",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 335,
              "column": 8
            },
            "end": {
              "line": 338,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "alpha",
          "type": "number | null | undefined",
          "description": "Alpha",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 343,
              "column": 8
            },
            "end": {
              "line": 348,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_alphaChanged\"",
              "attributeType": "Number"
            }
          },
          "defaultValue": "1"
        },
        {
          "name": "alphaMode",
          "type": "boolean | null | undefined",
          "description": "if true, colorString has alpha",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 353,
              "column": 8
            },
            "end": {
              "line": 357,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_alphaModeChanged\"",
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "withoutAlpha",
          "type": "boolean | null | undefined",
          "description": "if true, alpha won't be used",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 362,
              "column": 8
            },
            "end": {
              "line": 365,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_withoutAlphaChanged\"",
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "hslPrecision",
          "type": "number | null | undefined",
          "description": "Precision of hsl-colorStrings, if the format is 'hsl' (for saturation and lightness it is applied according to their percentage colorString)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 370,
              "column": 8
            },
            "end": {
              "line": 373,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          },
          "defaultValue": "0"
        },
        {
          "name": "format",
          "type": "string | null | undefined",
          "description": "format of the colorString (possible colorStrings: 'rgb', 'hex', 'hsl', 'auto')",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 378,
              "column": 8
            },
            "end": {
              "line": 383,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_formatChanged\"",
              "attributeType": "String"
            }
          },
          "defaultValue": "\"auto\""
        },
        {
          "name": "fixedFormat",
          "type": "boolean | null | undefined",
          "description": "format is locked and does not switch according to the colorString",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 388,
              "column": 8
            },
            "end": {
              "line": 390,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "_hexAlphaSupported",
          "type": "boolean | null | undefined",
          "description": "if true, hex alpha is supported by the browser",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 395,
              "column": 8
            },
            "end": {
              "line": 398,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "colorString",
          "type": "string | null | undefined",
          "description": "value as color-string",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 403,
              "column": 8
            },
            "end": {
              "line": 407,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_colorStringChanged\"",
              "attributeType": "String"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "ready",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 418,
              "column": 4
            },
            "end": {
              "line": 421,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "randomColor",
          "description": "generate random color",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 426,
              "column": 4
            },
            "end": {
              "line": 429,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "resetColor",
          "description": "reset all color properties",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 434,
              "column": 4
            },
            "end": {
              "line": 447,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_createTestCanvas",
          "description": "creates a canvas for testing a color string and browser capabilities",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 452,
              "column": 4
            },
            "end": {
              "line": 465,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_colorStringChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 467,
              "column": 4
            },
            "end": {
              "line": 565,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "colorString"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_computeColorString",
          "description": "compute color string",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 575,
              "column": 4
            },
            "end": {
              "line": 655,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "rgb",
              "type": "rgbObject",
              "description": "The rgb object"
            },
            {
              "name": "hsl",
              "type": "hslObject",
              "description": "The hsl object"
            },
            {
              "name": "hex",
              "type": "string",
              "description": "The hex string"
            },
            {
              "name": "oldColor",
              "type": "string",
              "description": "The old color string before setting"
            }
          ],
          "return": {
            "type": "[type]",
            "desc": "The computed color string"
          }
        },
        {
          "name": "_hexChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 657,
              "column": 4
            },
            "end": {
              "line": 677,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "hex"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_rgbChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 679,
              "column": 4
            },
            "end": {
              "line": 723,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "r"
            },
            {
              "name": "g"
            },
            {
              "name": "b"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_hslChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 725,
              "column": 4
            },
            "end": {
              "line": 768,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "h"
            },
            {
              "name": "s"
            },
            {
              "name": "l"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_formatChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 770,
              "column": 4
            },
            "end": {
              "line": 786,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "format"
            },
            {
              "name": "oldFormat"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_alphaChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 788,
              "column": 4
            },
            "end": {
              "line": 818,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "alpha"
            },
            {
              "name": "oldAlpha"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_alphaModeChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 820,
              "column": 4
            },
            "end": {
              "line": 841,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "alphaMode"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_withoutAlphaChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 843,
              "column": 4
            },
            "end": {
              "line": 853,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "withoutAlpha"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/color-demo.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 270,
          "column": 7
        },
        "end": {
          "line": 855,
          "column": 3
        }
      },
      "privacy": "public",
      "name": "ColorMixin",
      "attributes": [
        {
          "name": "hex",
          "description": "Hex-color",
          "sourceRange": {
            "start": {
              "line": 286,
              "column": 8
            },
            "end": {
              "line": 290,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "r",
          "description": "Red",
          "sourceRange": {
            "start": {
              "line": 295,
              "column": 8
            },
            "end": {
              "line": 298,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "g",
          "description": "Green",
          "sourceRange": {
            "start": {
              "line": 303,
              "column": 8
            },
            "end": {
              "line": 306,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "b",
          "description": "Blue",
          "sourceRange": {
            "start": {
              "line": 311,
              "column": 8
            },
            "end": {
              "line": 314,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "h",
          "description": "Hue",
          "sourceRange": {
            "start": {
              "line": 319,
              "column": 8
            },
            "end": {
              "line": 322,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "s",
          "description": "Saturation (hsl)",
          "sourceRange": {
            "start": {
              "line": 327,
              "column": 8
            },
            "end": {
              "line": 330,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "l",
          "description": "Lightness",
          "sourceRange": {
            "start": {
              "line": 335,
              "column": 8
            },
            "end": {
              "line": 338,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "alpha",
          "description": "Alpha",
          "sourceRange": {
            "start": {
              "line": 343,
              "column": 8
            },
            "end": {
              "line": 348,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "alpha-mode",
          "description": "if true, colorString has alpha",
          "sourceRange": {
            "start": {
              "line": 353,
              "column": 8
            },
            "end": {
              "line": 357,
              "column": 9
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "without-alpha",
          "description": "if true, alpha won't be used",
          "sourceRange": {
            "start": {
              "line": 362,
              "column": 8
            },
            "end": {
              "line": 365,
              "column": 9
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "hsl-precision",
          "description": "Precision of hsl-colorStrings, if the format is 'hsl' (for saturation and lightness it is applied according to their percentage colorString)",
          "sourceRange": {
            "start": {
              "line": 370,
              "column": 8
            },
            "end": {
              "line": 373,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "format",
          "description": "format of the colorString (possible colorStrings: 'rgb', 'hex', 'hsl', 'auto')",
          "sourceRange": {
            "start": {
              "line": 378,
              "column": 8
            },
            "end": {
              "line": 383,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "fixed-format",
          "description": "format is locked and does not switch according to the colorString",
          "sourceRange": {
            "start": {
              "line": 388,
              "column": 8
            },
            "end": {
              "line": 390,
              "column": 9
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "color-string",
          "description": "value as color-string",
          "sourceRange": {
            "start": {
              "line": 403,
              "column": 8
            },
            "end": {
              "line": 407,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": []
    },
    {
      "description": "Mixin that provides intl-format-locale for datetime and computes some separation strings for usage.",
      "summary": "",
      "path": "intl-datetime-format-mixin.js",
      "properties": [
        {
          "name": "locale",
          "type": "string | null | undefined",
          "description": "The current locale",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 23,
              "column": 8
            },
            "end": {
              "line": 26,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "decimalSeparator",
          "type": "string",
          "description": "locale separator for local decimal values",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 32,
              "column": 8
            },
            "end": {
              "line": 35,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "dateSeparator",
          "type": "string",
          "description": "Separator for local date values (date-string is still in ISO-Format)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 41,
              "column": 8
            },
            "end": {
              "line": 44,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "timeSeparator",
          "type": "string",
          "description": "Separator for local time values (time-string is still in ISO-Format)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 50,
              "column": 8
            },
            "end": {
              "line": 53,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "amString",
          "type": "string | null | undefined",
          "description": "locale representation of 'AM'",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 58,
              "column": 8
            },
            "end": {
              "line": 61,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "pmString",
          "type": "string | null | undefined",
          "description": "locale representation of 'PM'",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 66,
              "column": 8
            },
            "end": {
              "line": 69,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "dateOrder",
          "type": "Object | null | undefined",
          "description": "order of date-parts",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 74,
              "column": 8
            },
            "end": {
              "line": 85,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "readOnly": true,
              "attributeType": "Object"
            }
          },
          "defaultValue": "{\"parts\":[],\"timeFirst\":false,\"dateFirst\":true}"
        }
      ],
      "methods": [
        {
          "name": "_localeChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 95,
              "column": 4
            },
            "end": {
              "line": 283,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "locale"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 14,
          "column": 7
        },
        "end": {
          "line": 285,
          "column": 3
        }
      },
      "privacy": "public",
      "name": "IntlDatetimeFormatMixin",
      "attributes": [
        {
          "name": "locale",
          "description": "The current locale",
          "sourceRange": {
            "start": {
              "line": 23,
              "column": 8
            },
            "end": {
              "line": 26,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "decimal-separator",
          "description": "locale separator for local decimal values",
          "sourceRange": {
            "start": {
              "line": 32,
              "column": 8
            },
            "end": {
              "line": 35,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "date-separator",
          "description": "Separator for local date values (date-string is still in ISO-Format)",
          "sourceRange": {
            "start": {
              "line": 41,
              "column": 8
            },
            "end": {
              "line": 44,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "time-separator",
          "description": "Separator for local time values (time-string is still in ISO-Format)",
          "sourceRange": {
            "start": {
              "line": 50,
              "column": 8
            },
            "end": {
              "line": 53,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string"
        },
        {
          "name": "am-string",
          "description": "locale representation of 'AM'",
          "sourceRange": {
            "start": {
              "line": 58,
              "column": 8
            },
            "end": {
              "line": 61,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "pm-string",
          "description": "locale representation of 'PM'",
          "sourceRange": {
            "start": {
              "line": 66,
              "column": 8
            },
            "end": {
              "line": 69,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "date-order",
          "description": "order of date-parts",
          "sourceRange": {
            "start": {
              "line": 74,
              "column": 8
            },
            "end": {
              "line": 85,
              "column": 9
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": []
    },
    {
      "description": "Mixin that provides datetime-properties",
      "summary": "",
      "path": "datetime-mixin.js",
      "properties": [
        {
          "name": "locale",
          "type": "string | null | undefined",
          "description": "The current locale",
          "privacy": "public",
          "sourceRange": {
            "file": "intl-datetime-format-mixin.js",
            "start": {
              "line": 23,
              "column": 8
            },
            "end": {
              "line": 26,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "inheritedFrom": "IntlDatetimeFormatMixin"
        },
        {
          "name": "decimalSeparator",
          "type": "string",
          "description": "locale separator for local decimal values",
          "privacy": "public",
          "sourceRange": {
            "file": "intl-datetime-format-mixin.js",
            "start": {
              "line": 32,
              "column": 8
            },
            "end": {
              "line": 35,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "String"
            }
          },
          "inheritedFrom": "IntlDatetimeFormatMixin"
        },
        {
          "name": "dateSeparator",
          "type": "string",
          "description": "Separator for local date values (date-string is still in ISO-Format)",
          "privacy": "public",
          "sourceRange": {
            "file": "intl-datetime-format-mixin.js",
            "start": {
              "line": 41,
              "column": 8
            },
            "end": {
              "line": 44,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "String"
            }
          },
          "inheritedFrom": "IntlDatetimeFormatMixin"
        },
        {
          "name": "timeSeparator",
          "type": "string",
          "description": "Separator for local time values (time-string is still in ISO-Format)",
          "privacy": "public",
          "sourceRange": {
            "file": "intl-datetime-format-mixin.js",
            "start": {
              "line": 50,
              "column": 8
            },
            "end": {
              "line": 53,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "String"
            }
          },
          "inheritedFrom": "IntlDatetimeFormatMixin"
        },
        {
          "name": "amString",
          "type": "string | null | undefined",
          "description": "locale representation of 'AM'",
          "privacy": "public",
          "sourceRange": {
            "file": "intl-datetime-format-mixin.js",
            "start": {
              "line": 58,
              "column": 8
            },
            "end": {
              "line": 61,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "String"
            }
          },
          "inheritedFrom": "IntlDatetimeFormatMixin"
        },
        {
          "name": "pmString",
          "type": "string | null | undefined",
          "description": "locale representation of 'PM'",
          "privacy": "public",
          "sourceRange": {
            "file": "intl-datetime-format-mixin.js",
            "start": {
              "line": 66,
              "column": 8
            },
            "end": {
              "line": 69,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "String"
            }
          },
          "inheritedFrom": "IntlDatetimeFormatMixin"
        },
        {
          "name": "dateOrder",
          "type": "Object | null | undefined",
          "description": "order of date-parts",
          "privacy": "public",
          "sourceRange": {
            "file": "intl-datetime-format-mixin.js",
            "start": {
              "line": 74,
              "column": 8
            },
            "end": {
              "line": 85,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "readOnly": true,
              "attributeType": "Object"
            }
          },
          "defaultValue": "{\"parts\":[],\"timeFirst\":false,\"dateFirst\":true}",
          "inheritedFrom": "IntlDatetimeFormatMixin"
        },
        {
          "name": "year",
          "type": "number | null | undefined",
          "description": "The year of the selected date",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 225,
              "column": 8
            },
            "end": {
              "line": 228,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "month",
          "type": "number | null | undefined",
          "description": "The month of the selected date (starts with 1)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 233,
              "column": 8
            },
            "end": {
              "line": 236,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "day",
          "type": "number | null | undefined",
          "description": "The day of the selected date",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 241,
              "column": 8
            },
            "end": {
              "line": 244,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "hour",
          "type": "number | null | undefined",
          "description": "The hour of the selected time",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 249,
              "column": 8
            },
            "end": {
              "line": 252,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "hour12",
          "type": "number",
          "description": "hour in 12-hour-format",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 258,
              "column": 8
            },
            "end": {
              "line": 262,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_hour12Changed\"",
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "isAm",
          "type": "boolean",
          "description": "true, when A.M. (when `hour` < 12)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 268,
              "column": 8
            },
            "end": {
              "line": 272,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_isAmChanged\"",
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "minute",
          "type": "number | null | undefined",
          "description": "The minute of the selected time",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 277,
              "column": 8
            },
            "end": {
              "line": 280,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "second",
          "type": "number | null | undefined",
          "description": "The second of the selected time",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 285,
              "column": 8
            },
            "end": {
              "line": 288,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "millisecond",
          "type": "number | null | undefined",
          "description": "The millisecond of the selected time",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 293,
              "column": 8
            },
            "end": {
              "line": 296,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "datetime",
          "type": "string | null | undefined",
          "description": "the selected date and time (format: iso8601)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 301,
              "column": 8
            },
            "end": {
              "line": 304,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "date",
          "type": "string | null | undefined",
          "description": "the selected date (format: iso8601)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 309,
              "column": 8
            },
            "end": {
              "line": 312,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "time",
          "type": "string | null | undefined",
          "description": "the selected time (format: iso8601)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 317,
              "column": 8
            },
            "end": {
              "line": 320,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "valueAsDate",
          "type": "Date | null | undefined",
          "description": "The date-object of the selected date",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 325,
              "column": 8
            },
            "end": {
              "line": 329,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_valueAsDateChanged\"",
              "attributeType": "Date"
            }
          }
        },
        {
          "name": "valueAsNumber",
          "type": "number | null | undefined",
          "description": "The value of the selected date",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 334,
              "column": 8
            },
            "end": {
              "line": 338,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_valueAsNumberChanged\"",
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "default",
          "type": "Object | null | undefined",
          "description": "The default value of the input, could be a number, a date-object or an iso-string in time, date or datetime-notation",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 343,
              "column": 8
            },
            "end": {
              "line": 346,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_defaultChanged\"",
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "min",
          "type": "Object | null | undefined",
          "description": "The minimal date, could be a number, a date-object or an iso-string in time, date or datetime-notation",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 351,
              "column": 8
            },
            "end": {
              "line": 355,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_minChanged\"",
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "_minValue",
          "type": "number | null | undefined",
          "description": "value if the minimum date",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 360,
              "column": 8
            },
            "end": {
              "line": 362,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "max",
          "type": "Object | null | undefined",
          "description": "The maximal date, could be a number, a date-object or an iso-string in time, date or datetime-notation",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 367,
              "column": 8
            },
            "end": {
              "line": 371,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_maxChanged\"",
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "_maxValue",
          "type": "number | null | undefined",
          "description": "value if the maximum date",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 376,
              "column": 8
            },
            "end": {
              "line": 378,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "hour12Format",
          "type": "boolean",
          "description": "when true, 12-hour time format, else 24-hour",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 384,
              "column": 8
            },
            "end": {
              "line": 388,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "clamp",
          "type": "string | null | undefined",
          "description": "Clamp datetime to a property\npossible values:'month', 'day', 'hour', 'minute', 'second', 'millisecond'",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 394,
              "column": 8
            },
            "end": {
              "line": 398,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_clampChanged\"",
              "attributeType": "String"
            }
          }
        },
        {
          "name": "timezone",
          "type": "string | null | undefined",
          "description": "The timezone offset in '±hh:mm' format",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 403,
              "column": 8
            },
            "end": {
              "line": 407,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_timezoneChanged\"",
              "attributeType": "String"
            }
          }
        },
        {
          "name": "offsetMinutes",
          "type": "number | null | undefined",
          "description": "The offset minutes of the set timezone",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 412,
              "column": 8
            },
            "end": {
              "line": 416,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_offsetMinutesChanged\"",
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "_timeZoneHours",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 418,
              "column": 8
            },
            "end": {
              "line": 420,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "_timeZoneMinutes",
          "type": "number | null | undefined",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 422,
              "column": 8
            },
            "end": {
              "line": 424,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "_recentLocalTimezoneOffset",
          "type": "number | null | undefined",
          "description": "The offset minute of the current datetime",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 429,
              "column": 8
            },
            "end": {
              "line": 431,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "_timeOnly",
          "type": "boolean | null | undefined",
          "description": "if true perspective starts at 0 (1970-01-01)",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 436,
              "column": 8
            },
            "end": {
              "line": 439,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          },
          "defaultValue": "false"
        },
        {
          "name": "_dateLocked",
          "type": "boolean | null | undefined",
          "description": "if true, time will be `00:00:00.000`",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 444,
              "column": 8
            },
            "end": {
              "line": 447,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Boolean"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_localeChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "file": "intl-datetime-format-mixin.js",
            "start": {
              "line": 95,
              "column": 4
            },
            "end": {
              "line": 283,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "locale"
            }
          ],
          "return": {
            "type": "void"
          },
          "inheritedFrom": "IntlDatetimeFormatMixin"
        },
        {
          "name": "_shouldPropertyChange",
          "description": "overwritten of polymer to handle -0",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 212,
              "column": 4
            },
            "end": {
              "line": 218,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property"
            },
            {
              "name": "value"
            },
            {
              "name": "old"
            }
          ]
        },
        {
          "name": "now",
          "description": "Sets value to the actual date",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 464,
              "column": 4
            },
            "end": {
              "line": 480,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "setDate",
          "description": "sets date to all necessary properties",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 486,
              "column": 4
            },
            "end": {
              "line": 543,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "d",
              "type": "Date",
              "description": "[the date to set]"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "resetDate",
          "description": "resets the date (if `default` is set, it will be used for the new value)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 549,
              "column": 4
            },
            "end": {
              "line": 582,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "e",
              "type": "Event",
              "description": "[a causing event will not propagated]"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_defaultChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 584,
              "column": 4
            },
            "end": {
              "line": 591,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "def"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_computeDatetime",
          "description": "compute date by date properties",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 603,
              "column": 4
            },
            "end": {
              "line": 669,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "year",
              "type": "number"
            },
            {
              "name": "month",
              "type": "number"
            },
            {
              "name": "day",
              "type": "number"
            },
            {
              "name": "hour",
              "type": "number"
            },
            {
              "name": "minute",
              "type": "number"
            },
            {
              "name": "second",
              "type": "number"
            },
            {
              "name": "millisecond",
              "type": "number"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_dateTimeChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 671,
              "column": 4
            },
            "end": {
              "line": 698,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "date"
            },
            {
              "name": "time"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_datetimeChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 700,
              "column": 4
            },
            "end": {
              "line": 742,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "datetime"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_valueAsNumberChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 744,
              "column": 4
            },
            "end": {
              "line": 750,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_valueAsDateChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 752,
              "column": 4
            },
            "end": {
              "line": 763,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "d"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_checkThreshold",
          "description": "test date object against thresholds",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 770,
              "column": 4
            },
            "end": {
              "line": 781,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "d",
              "type": "Date"
            }
          ],
          "return": {
            "type": "Date",
            "desc": "ether the threshold when the date is exceeding or the date object itself"
          }
        },
        {
          "name": "_clampUTCComponents",
          "description": "clamp UTC values",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 789,
              "column": 4
            },
            "end": {
              "line": 806,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "d",
              "type": "Date",
              "description": "The Date to clamp"
            },
            {
              "name": "clamp",
              "type": "string",
              "description": "The date component to clamp"
            }
          ],
          "return": {
            "type": "Date",
            "desc": "The clamped date"
          }
        },
        {
          "name": "_ifClamped",
          "description": "clamp to date component",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 811,
              "column": 4
            },
            "end": {
              "line": 815,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "clamp"
            },
            {
              "name": "comp"
            },
            {
              "name": "hidden"
            }
          ]
        },
        {
          "name": "_ifNotClamped",
          "description": "clamp to date component",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 819,
              "column": 4
            },
            "end": {
              "line": 821,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "clamp"
            },
            {
              "name": "comp"
            },
            {
              "name": "hidden"
            }
          ]
        },
        {
          "name": "_checkDefaultTimezone",
          "description": "set the default timezone if needed",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 827,
              "column": 4
            },
            "end": {
              "line": 840,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "d",
              "type": "Date"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_computeTimezoneShift",
          "description": "correct a timezone shift when date changes from winter to summertime (locally)",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 846,
              "column": 4
            },
            "end": {
              "line": 855,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "d",
              "type": "Date"
            }
          ]
        },
        {
          "name": "_clampChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 857,
              "column": 4
            },
            "end": {
              "line": 865,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "clamp"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_minChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 867,
              "column": 4
            },
            "end": {
              "line": 884,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "min"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_maxChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 886,
              "column": 4
            },
            "end": {
              "line": 903,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "max"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_minMaxValueChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 905,
              "column": 4
            },
            "end": {
              "line": 909,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_hour12Changed",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 911,
              "column": 4
            },
            "end": {
              "line": 917,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "hour12"
            },
            {
              "name": "old"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_isAmChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 919,
              "column": 4
            },
            "end": {
              "line": 923,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "isAm"
            },
            {
              "name": "old"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_timezoneChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 925,
              "column": 4
            },
            "end": {
              "line": 948,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "timezone"
            },
            {
              "name": "oldValue"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_offsetMinutesChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 950,
              "column": 4
            },
            "end": {
              "line": 960,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "offsetMinutes"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_timeZoneHoursMinutesChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 962,
              "column": 4
            },
            "end": {
              "line": 981,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "hour"
            },
            {
              "name": "minute"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [
        {
          "url": "demo/datetime-demo.html",
          "description": ""
        }
      ],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 206,
          "column": 7
        },
        "end": {
          "line": 983,
          "column": 3
        }
      },
      "privacy": "public",
      "name": "DatetimeMixin",
      "attributes": [
        {
          "name": "locale",
          "description": "The current locale",
          "sourceRange": {
            "file": "intl-datetime-format-mixin.js",
            "start": {
              "line": 23,
              "column": 8
            },
            "end": {
              "line": 26,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined",
          "inheritedFrom": "IntlDatetimeFormatMixin"
        },
        {
          "name": "decimal-separator",
          "description": "locale separator for local decimal values",
          "sourceRange": {
            "file": "intl-datetime-format-mixin.js",
            "start": {
              "line": 32,
              "column": 8
            },
            "end": {
              "line": 35,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string",
          "inheritedFrom": "IntlDatetimeFormatMixin"
        },
        {
          "name": "date-separator",
          "description": "Separator for local date values (date-string is still in ISO-Format)",
          "sourceRange": {
            "file": "intl-datetime-format-mixin.js",
            "start": {
              "line": 41,
              "column": 8
            },
            "end": {
              "line": 44,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string",
          "inheritedFrom": "IntlDatetimeFormatMixin"
        },
        {
          "name": "time-separator",
          "description": "Separator for local time values (time-string is still in ISO-Format)",
          "sourceRange": {
            "file": "intl-datetime-format-mixin.js",
            "start": {
              "line": 50,
              "column": 8
            },
            "end": {
              "line": 53,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string",
          "inheritedFrom": "IntlDatetimeFormatMixin"
        },
        {
          "name": "am-string",
          "description": "locale representation of 'AM'",
          "sourceRange": {
            "file": "intl-datetime-format-mixin.js",
            "start": {
              "line": 58,
              "column": 8
            },
            "end": {
              "line": 61,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined",
          "inheritedFrom": "IntlDatetimeFormatMixin"
        },
        {
          "name": "pm-string",
          "description": "locale representation of 'PM'",
          "sourceRange": {
            "file": "intl-datetime-format-mixin.js",
            "start": {
              "line": 66,
              "column": 8
            },
            "end": {
              "line": 69,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined",
          "inheritedFrom": "IntlDatetimeFormatMixin"
        },
        {
          "name": "date-order",
          "description": "order of date-parts",
          "sourceRange": {
            "file": "intl-datetime-format-mixin.js",
            "start": {
              "line": 74,
              "column": 8
            },
            "end": {
              "line": 85,
              "column": 9
            }
          },
          "metadata": {},
          "type": "Object | null | undefined",
          "inheritedFrom": "IntlDatetimeFormatMixin"
        },
        {
          "name": "year",
          "description": "The year of the selected date",
          "sourceRange": {
            "start": {
              "line": 225,
              "column": 8
            },
            "end": {
              "line": 228,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "month",
          "description": "The month of the selected date (starts with 1)",
          "sourceRange": {
            "start": {
              "line": 233,
              "column": 8
            },
            "end": {
              "line": 236,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "day",
          "description": "The day of the selected date",
          "sourceRange": {
            "start": {
              "line": 241,
              "column": 8
            },
            "end": {
              "line": 244,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "hour",
          "description": "The hour of the selected time",
          "sourceRange": {
            "start": {
              "line": 249,
              "column": 8
            },
            "end": {
              "line": 252,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "hour12",
          "description": "hour in 12-hour-format",
          "sourceRange": {
            "start": {
              "line": 258,
              "column": 8
            },
            "end": {
              "line": 262,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "is-am",
          "description": "true, when A.M. (when `hour` < 12)",
          "sourceRange": {
            "start": {
              "line": 268,
              "column": 8
            },
            "end": {
              "line": 272,
              "column": 9
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "minute",
          "description": "The minute of the selected time",
          "sourceRange": {
            "start": {
              "line": 277,
              "column": 8
            },
            "end": {
              "line": 280,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "second",
          "description": "The second of the selected time",
          "sourceRange": {
            "start": {
              "line": 285,
              "column": 8
            },
            "end": {
              "line": 288,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "millisecond",
          "description": "The millisecond of the selected time",
          "sourceRange": {
            "start": {
              "line": 293,
              "column": 8
            },
            "end": {
              "line": 296,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "datetime",
          "description": "the selected date and time (format: iso8601)",
          "sourceRange": {
            "start": {
              "line": 301,
              "column": 8
            },
            "end": {
              "line": 304,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "date",
          "description": "the selected date (format: iso8601)",
          "sourceRange": {
            "start": {
              "line": 309,
              "column": 8
            },
            "end": {
              "line": 312,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "time",
          "description": "the selected time (format: iso8601)",
          "sourceRange": {
            "start": {
              "line": 317,
              "column": 8
            },
            "end": {
              "line": 320,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "value-as-date",
          "description": "The date-object of the selected date",
          "sourceRange": {
            "start": {
              "line": 325,
              "column": 8
            },
            "end": {
              "line": 329,
              "column": 9
            }
          },
          "metadata": {},
          "type": "Date | null | undefined"
        },
        {
          "name": "value-as-number",
          "description": "The value of the selected date",
          "sourceRange": {
            "start": {
              "line": 334,
              "column": 8
            },
            "end": {
              "line": 338,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "default",
          "description": "The default value of the input, could be a number, a date-object or an iso-string in time, date or datetime-notation",
          "sourceRange": {
            "start": {
              "line": 343,
              "column": 8
            },
            "end": {
              "line": 346,
              "column": 9
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "min",
          "description": "The minimal date, could be a number, a date-object or an iso-string in time, date or datetime-notation",
          "sourceRange": {
            "start": {
              "line": 351,
              "column": 8
            },
            "end": {
              "line": 355,
              "column": 9
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "max",
          "description": "The maximal date, could be a number, a date-object or an iso-string in time, date or datetime-notation",
          "sourceRange": {
            "start": {
              "line": 367,
              "column": 8
            },
            "end": {
              "line": 371,
              "column": 9
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "hour12-format",
          "description": "when true, 12-hour time format, else 24-hour",
          "sourceRange": {
            "start": {
              "line": 384,
              "column": 8
            },
            "end": {
              "line": 388,
              "column": 9
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "clamp",
          "description": "Clamp datetime to a property\npossible values:'month', 'day', 'hour', 'minute', 'second', 'millisecond'",
          "sourceRange": {
            "start": {
              "line": 394,
              "column": 8
            },
            "end": {
              "line": 398,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "timezone",
          "description": "The timezone offset in '±hh:mm' format",
          "sourceRange": {
            "start": {
              "line": 403,
              "column": 8
            },
            "end": {
              "line": 407,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "offset-minutes",
          "description": "The offset minutes of the set timezone",
          "sourceRange": {
            "start": {
              "line": 412,
              "column": 8
            },
            "end": {
              "line": 416,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": [],
      "mixins": [
        "IntlDatetimeFormatMixin"
      ]
    },
    {
      "description": "Mixin that extends duration properties of a time period to an element.",
      "summary": "",
      "path": "duration-mixin.js",
      "properties": [
        {
          "name": "start",
          "type": "Object | null | undefined",
          "description": "start of the time period",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 77,
              "column": 8
            },
            "end": {
              "line": 79,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "end",
          "type": "Object | null | undefined",
          "description": "end of the time period",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 84,
              "column": 8
            },
            "end": {
              "line": 86,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Object"
            }
          }
        },
        {
          "name": "valueAsString",
          "type": "string | null | undefined",
          "description": "string representation of the time period",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 91,
              "column": 8
            },
            "end": {
              "line": 94,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_valueAsStringChanged\"",
              "attributeType": "String"
            }
          }
        },
        {
          "name": "valueAsNumber",
          "type": "number | null | undefined",
          "description": "value of the time period in milliseconds",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 99,
              "column": 8
            },
            "end": {
              "line": 102,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_valueAsNumberChanged\"",
              "attributeType": "Number"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_startEndChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 112,
              "column": 4
            },
            "end": {
              "line": 141,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "start"
            },
            {
              "name": "end"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_valueAsNumberChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 143,
              "column": 4
            },
            "end": {
              "line": 179,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_valueAsStringChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 181,
              "column": 4
            },
            "end": {
              "line": 183,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "valueAsString"
            }
          ],
          "return": {
            "type": "void"
          }
        }
      ],
      "staticMethods": [],
      "demos": [],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 68,
          "column": 7
        },
        "end": {
          "line": 185,
          "column": 3
        }
      },
      "privacy": "public",
      "name": "DurationMixin",
      "attributes": [
        {
          "name": "start",
          "description": "start of the time period",
          "sourceRange": {
            "start": {
              "line": 77,
              "column": 8
            },
            "end": {
              "line": 79,
              "column": 9
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "end",
          "description": "end of the time period",
          "sourceRange": {
            "start": {
              "line": 84,
              "column": 8
            },
            "end": {
              "line": 86,
              "column": 9
            }
          },
          "metadata": {},
          "type": "Object | null | undefined"
        },
        {
          "name": "value-as-string",
          "description": "string representation of the time period",
          "sourceRange": {
            "start": {
              "line": 91,
              "column": 8
            },
            "end": {
              "line": 94,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "value-as-number",
          "description": "value of the time period in milliseconds",
          "sourceRange": {
            "start": {
              "line": 99,
              "column": 8
            },
            "end": {
              "line": 102,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": []
    },
    {
      "description": "Mixin that provides intl-format-locale for numbers and computes some separation strings for usage (only `latn`-numeral-system is possible).",
      "summary": "",
      "path": "intl-number-format-mixin.js",
      "properties": [
        {
          "name": "locale",
          "type": "string | null | undefined",
          "description": "The current locale",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 65,
              "column": 8
            },
            "end": {
              "line": 68,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "decimalSeparator",
          "type": "string | null | undefined",
          "description": "locale separator for local decimal values",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 73,
              "column": 8
            },
            "end": {
              "line": 76,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "groupingSeparator",
          "type": "string | null | undefined",
          "description": "locale separator for grouping decimal values",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 81,
              "column": 8
            },
            "end": {
              "line": 84,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "String"
            }
          }
        },
        {
          "name": "minimumFractionDigits",
          "type": "number | null | undefined",
          "description": "The minimum number of fraction digits to use. Possible values are from 0 to 20; the default for plain number and percent formatting is 0; the default for currency formatting is the number of minor unit digits provided by the ISO 4217 currency code list (2 if the list doesn't provide that information).",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 89,
              "column": 8
            },
            "end": {
              "line": 91,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "maximumFractionDigits",
          "type": "number | null | undefined",
          "description": "The maximum number of fraction digits to use. Possible values are from 0 to 20; the default for plain number formatting is the larger of minimumFractionDigits and 3; the default for currency formatting is the larger of minimumFractionDigits and the number of minor unit digits provided by the ISO 4217 currency code list (2 if the list doesn't provide that information); the default for percent formatting is the larger of minimumFractionDigits and 0.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 96,
              "column": 8
            },
            "end": {
              "line": 98,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "minimumIntegerDigits",
          "type": "number | null | undefined",
          "description": "The minimum number of integer digits to use. Possible values are from 1 to 21; the default is 1.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 103,
              "column": 8
            },
            "end": {
              "line": 105,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "minimumSignificantDigits",
          "type": "number | null | undefined",
          "description": "The minimum number of significant digits to use. Possible values are from 1 to 21; the default is 1.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 110,
              "column": 8
            },
            "end": {
              "line": 112,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "maximumSignificantDigits",
          "type": "number | null | undefined",
          "description": "The maximum number of significant digits to use. Possible values are from 1 to 21; the default is minimumSignificantDigits.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 117,
              "column": 8
            },
            "end": {
              "line": 119,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "unit",
          "type": "string | null | undefined",
          "description": "unit of the output (only used when `number-style=\"decimal\"`)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 124,
              "column": 8
            },
            "end": {
              "line": 126,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "unitSeparator",
          "type": "string | null | undefined",
          "description": "the separator to separate value and unit (default: '\\u202F')",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 131,
              "column": 8
            },
            "end": {
              "line": 134,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\" \""
        },
        {
          "name": "alwaysSign",
          "type": "boolean | null | undefined",
          "description": "always put the sign at the beginning",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 8
            },
            "end": {
              "line": 141,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "numberStyle",
          "type": "string | null | undefined",
          "description": "The formatting style to use. Possible values are \"decimal\" for plain number formatting, \"currency\" for currency formatting, and \"percent\" for percent formatting; the default is \"decimal\".\nnotice: min, max and step are not in percent (so e.g. if step is 0.01, it means that the step is 1%)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 147,
              "column": 8
            },
            "end": {
              "line": 150,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          },
          "defaultValue": "\"decimal\""
        },
        {
          "name": "useGrouping",
          "type": "boolean | null | undefined",
          "description": "if true the number will be grouped according to the locale.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 155,
              "column": 8
            },
            "end": {
              "line": 157,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "currency",
          "type": "string | null | undefined",
          "description": "The currency to use in currency formatting. Possible values are the ISO 4217 currency codes, such as \"USD\" for the US dollar, \"EUR\" for the euro, or \"CNY\" for the Chinese RMB — see http://www.currency-iso.org/en/home/tables/table-a1.html. There is no default value; if the style is \"currency\", the currency property must be provided.",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 162,
              "column": 8
            },
            "end": {
              "line": 164,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "currencyDisplay",
          "type": "string | null | undefined",
          "description": "How to display the currency in currency formatting. Possible values are \"symbol\" to use a localized currency symbol such as €, \"code\" to use the ISO currency code, \"name\" to use a localized currency name such as \"dollar\"; the default is \"symbol\".",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 169,
              "column": 8
            },
            "end": {
              "line": 171,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "String"
            }
          }
        },
        {
          "name": "_numberOptions",
          "type": "number | null | undefined",
          "description": "number format options",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 176,
              "column": 8
            },
            "end": {
              "line": 179,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "readOnly": true,
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "formatNumber",
          "type": "Function | null | undefined",
          "description": "number format function",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 184,
              "column": 8
            },
            "end": {
              "line": 188,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "readOnly": true,
              "attributeType": "Function"
            }
          }
        },
        {
          "name": "parseNumber",
          "type": "Function | null | undefined",
          "description": "function to parse the input",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 8
            },
            "end": {
              "line": 197,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "readOnly": true,
              "attributeType": "Function"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_localeChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 209,
              "column": 4
            },
            "end": {
              "line": 271,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "locale"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_computeNumberOptions",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 273,
              "column": 4
            },
            "end": {
              "line": 316,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "minimumIntegerDigits"
            },
            {
              "name": "minimumFractionDigits"
            },
            {
              "name": "maximumFractionDigits"
            },
            {
              "name": "minimumSignificantDigits"
            },
            {
              "name": "maximumSignificantDigits"
            },
            {
              "name": "useGrouping"
            },
            {
              "name": "style"
            },
            {
              "name": "currency"
            },
            {
              "name": "currencyDisplay"
            }
          ]
        },
        {
          "name": "_computeFormatNumber",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 318,
              "column": 4
            },
            "end": {
              "line": 348,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "locale"
            },
            {
              "name": "numberOptions"
            },
            {
              "name": "unit"
            },
            {
              "name": "unitSeparator"
            },
            {
              "name": "alwaysSign"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_computeParseNumber",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 350,
              "column": 4
            },
            "end": {
              "line": 435,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "decimalSeparator"
            },
            {
              "name": "groupingSeparator"
            },
            {
              "name": "numberOptions"
            }
          ]
        }
      ],
      "staticMethods": [],
      "demos": [],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 50,
          "column": 7
        },
        "end": {
          "line": 437,
          "column": 3
        }
      },
      "privacy": "public",
      "name": "IntlNumberFormatMixin",
      "attributes": [
        {
          "name": "locale",
          "description": "The current locale",
          "sourceRange": {
            "start": {
              "line": 65,
              "column": 8
            },
            "end": {
              "line": 68,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "decimal-separator",
          "description": "locale separator for local decimal values",
          "sourceRange": {
            "start": {
              "line": 73,
              "column": 8
            },
            "end": {
              "line": 76,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "grouping-separator",
          "description": "locale separator for grouping decimal values",
          "sourceRange": {
            "start": {
              "line": 81,
              "column": 8
            },
            "end": {
              "line": 84,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "minimum-fraction-digits",
          "description": "The minimum number of fraction digits to use. Possible values are from 0 to 20; the default for plain number and percent formatting is 0; the default for currency formatting is the number of minor unit digits provided by the ISO 4217 currency code list (2 if the list doesn't provide that information).",
          "sourceRange": {
            "start": {
              "line": 89,
              "column": 8
            },
            "end": {
              "line": 91,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "maximum-fraction-digits",
          "description": "The maximum number of fraction digits to use. Possible values are from 0 to 20; the default for plain number formatting is the larger of minimumFractionDigits and 3; the default for currency formatting is the larger of minimumFractionDigits and the number of minor unit digits provided by the ISO 4217 currency code list (2 if the list doesn't provide that information); the default for percent formatting is the larger of minimumFractionDigits and 0.",
          "sourceRange": {
            "start": {
              "line": 96,
              "column": 8
            },
            "end": {
              "line": 98,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "minimum-integer-digits",
          "description": "The minimum number of integer digits to use. Possible values are from 1 to 21; the default is 1.",
          "sourceRange": {
            "start": {
              "line": 103,
              "column": 8
            },
            "end": {
              "line": 105,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "minimum-significant-digits",
          "description": "The minimum number of significant digits to use. Possible values are from 1 to 21; the default is 1.",
          "sourceRange": {
            "start": {
              "line": 110,
              "column": 8
            },
            "end": {
              "line": 112,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "maximum-significant-digits",
          "description": "The maximum number of significant digits to use. Possible values are from 1 to 21; the default is minimumSignificantDigits.",
          "sourceRange": {
            "start": {
              "line": 117,
              "column": 8
            },
            "end": {
              "line": 119,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number | null | undefined"
        },
        {
          "name": "unit",
          "description": "unit of the output (only used when `number-style=\"decimal\"`)",
          "sourceRange": {
            "start": {
              "line": 124,
              "column": 8
            },
            "end": {
              "line": 126,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "unit-separator",
          "description": "the separator to separate value and unit (default: '\\u202F')",
          "sourceRange": {
            "start": {
              "line": 131,
              "column": 8
            },
            "end": {
              "line": 134,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "always-sign",
          "description": "always put the sign at the beginning",
          "sourceRange": {
            "start": {
              "line": 139,
              "column": 8
            },
            "end": {
              "line": 141,
              "column": 9
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "number-style",
          "description": "The formatting style to use. Possible values are \"decimal\" for plain number formatting, \"currency\" for currency formatting, and \"percent\" for percent formatting; the default is \"decimal\".\nnotice: min, max and step are not in percent (so e.g. if step is 0.01, it means that the step is 1%)",
          "sourceRange": {
            "start": {
              "line": 147,
              "column": 8
            },
            "end": {
              "line": 150,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "use-grouping",
          "description": "if true the number will be grouped according to the locale.",
          "sourceRange": {
            "start": {
              "line": 155,
              "column": 8
            },
            "end": {
              "line": 157,
              "column": 9
            }
          },
          "metadata": {},
          "type": "boolean | null | undefined"
        },
        {
          "name": "currency",
          "description": "The currency to use in currency formatting. Possible values are the ISO 4217 currency codes, such as \"USD\" for the US dollar, \"EUR\" for the euro, or \"CNY\" for the Chinese RMB — see http://www.currency-iso.org/en/home/tables/table-a1.html. There is no default value; if the style is \"currency\", the currency property must be provided.",
          "sourceRange": {
            "start": {
              "line": 162,
              "column": 8
            },
            "end": {
              "line": 164,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "currency-display",
          "description": "How to display the currency in currency formatting. Possible values are \"symbol\" to use a localized currency symbol such as €, \"code\" to use the ISO currency code, \"name\" to use a localized currency name such as \"dollar\"; the default is \"symbol\".",
          "sourceRange": {
            "start": {
              "line": 169,
              "column": 8
            },
            "end": {
              "line": 171,
              "column": 9
            }
          },
          "metadata": {},
          "type": "string | null | undefined"
        },
        {
          "name": "format-number",
          "description": "number format function",
          "sourceRange": {
            "start": {
              "line": 184,
              "column": 8
            },
            "end": {
              "line": 188,
              "column": 9
            }
          },
          "metadata": {},
          "type": "Function | null | undefined"
        },
        {
          "name": "parse-number",
          "description": "function to parse the input",
          "sourceRange": {
            "start": {
              "line": 193,
              "column": 8
            },
            "end": {
              "line": 197,
              "column": 9
            }
          },
          "metadata": {},
          "type": "Function | null | undefined"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": []
    },
    {
      "description": "mixin to provide a range behavior for a given value",
      "summary": "",
      "path": "range-mixin.js",
      "properties": [
        {
          "name": "min",
          "type": "number",
          "description": "minimal input",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 19,
              "column": 8
            },
            "end": {
              "line": 21,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "max",
          "type": "number",
          "description": "maximal input",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 26,
              "column": 8
            },
            "end": {
              "line": 28,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "step",
          "type": "number",
          "description": "step for changing the input (referencing to `min` or `0`)",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 34,
              "column": 8
            },
            "end": {
              "line": 37,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_stepChanged\"",
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "startAt",
          "type": "number",
          "description": "start where to increment the value",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 43,
              "column": 8
            },
            "end": {
              "line": 45,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "valueAsNumber",
          "type": "number",
          "description": "value of the input",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 50,
              "column": 8
            },
            "end": {
              "line": 54,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "notify": true,
              "observer": "\"_valueAsNumberChanged\"",
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "default",
          "type": "number",
          "description": "default-value of the input",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 59,
              "column": 8
            },
            "end": {
              "line": 62,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_defaultChanged\"",
              "attributeType": "Number"
            }
          }
        },
        {
          "name": "saturate",
          "type": "boolean",
          "description": "if true, the value does not revolve the range according to the maximum or the minimum",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 67,
              "column": 8
            },
            "end": {
              "line": 70,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_updateValueAsNumber\"",
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "useNegativeZero",
          "type": "boolean",
          "description": "if true, the value will break on 0 to -0",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 75,
              "column": 8
            },
            "end": {
              "line": 78,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_updateValueAsNumber\"",
              "attributeType": "Boolean"
            }
          }
        },
        {
          "name": "noClamp",
          "type": "boolean",
          "description": "if true, the value does not clamp according to the given step",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 83,
              "column": 8
            },
            "end": {
              "line": 86,
              "column": 9
            }
          },
          "metadata": {
            "polymer": {
              "observer": "\"_updateValueAsNumber\"",
              "attributeType": "Boolean"
            }
          }
        }
      ],
      "methods": [
        {
          "name": "_minMaxChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 96,
              "column": 4
            },
            "end": {
              "line": 105,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "min"
            },
            {
              "name": "max"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_valueAsNumberChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 107,
              "column": 4
            },
            "end": {
              "line": 119,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "valueAsNumber"
            },
            {
              "name": "oldValue"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_defaultChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 121,
              "column": 4
            },
            "end": {
              "line": 127,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "def"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_computeDefaultValue",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 129,
              "column": 4
            },
            "end": {
              "line": 134,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            }
          ]
        },
        {
          "name": "_checkValueAsNumber",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 136,
              "column": 4
            },
            "end": {
              "line": 161,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            },
            {
              "name": "oldValue"
            }
          ]
        },
        {
          "name": "_updateValueAsNumber",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 163,
              "column": 4
            },
            "end": {
              "line": 168,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_checkStep",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 170,
              "column": 4
            },
            "end": {
              "line": 187,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "value"
            },
            {
              "name": "step"
            }
          ]
        },
        {
          "name": "_safeMult",
          "description": "Emulating handwritten multiplication to keep precision",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 195,
              "column": 4
            },
            "end": {
              "line": 197,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "a",
              "type": "?number",
              "description": "First summand"
            },
            {
              "name": "b",
              "type": "?number",
              "description": "Second summand"
            }
          ],
          "return": {
            "type": "number",
            "desc": "Sum"
          }
        },
        {
          "name": "_safeAdd",
          "description": "Emulating handwritten addition to keep precision",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 205,
              "column": 4
            },
            "end": {
              "line": 207,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "a",
              "type": "?number",
              "description": "First factor"
            },
            {
              "name": "b",
              "type": "?number",
              "description": "Second factor"
            }
          ],
          "return": {
            "type": "number",
            "desc": "Product"
          }
        },
        {
          "name": "_stepChanged",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 209,
              "column": 4
            },
            "end": {
              "line": 217,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "step"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "increase",
          "description": "Increase value by step",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 222,
              "column": 4
            },
            "end": {
              "line": 224,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "decrease",
          "description": "Decrease value by step",
          "privacy": "public",
          "sourceRange": {
            "start": {
              "line": 229,
              "column": 4
            },
            "end": {
              "line": 231,
              "column": 5
            }
          },
          "metadata": {},
          "params": [],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_increm",
          "description": "",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 233,
              "column": 4
            },
            "end": {
              "line": 265,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "step"
            }
          ],
          "return": {
            "type": "void"
          }
        },
        {
          "name": "_shouldPropertyChange",
          "description": "overwritten of polymer to handle -0",
          "privacy": "protected",
          "sourceRange": {
            "start": {
              "line": 270,
              "column": 4
            },
            "end": {
              "line": 276,
              "column": 5
            }
          },
          "metadata": {},
          "params": [
            {
              "name": "property"
            },
            {
              "name": "value"
            },
            {
              "name": "old"
            }
          ]
        }
      ],
      "staticMethods": [],
      "demos": [],
      "metadata": {},
      "sourceRange": {
        "start": {
          "line": 9,
          "column": 7
        },
        "end": {
          "line": 278,
          "column": 3
        }
      },
      "privacy": "public",
      "name": "RangeMixin",
      "attributes": [
        {
          "name": "min",
          "description": "minimal input",
          "sourceRange": {
            "start": {
              "line": 19,
              "column": 8
            },
            "end": {
              "line": 21,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "max",
          "description": "maximal input",
          "sourceRange": {
            "start": {
              "line": 26,
              "column": 8
            },
            "end": {
              "line": 28,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "step",
          "description": "step for changing the input (referencing to `min` or `0`)",
          "sourceRange": {
            "start": {
              "line": 34,
              "column": 8
            },
            "end": {
              "line": 37,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "start-at",
          "description": "start where to increment the value",
          "sourceRange": {
            "start": {
              "line": 43,
              "column": 8
            },
            "end": {
              "line": 45,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "value-as-number",
          "description": "value of the input",
          "sourceRange": {
            "start": {
              "line": 50,
              "column": 8
            },
            "end": {
              "line": 54,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "default",
          "description": "default-value of the input",
          "sourceRange": {
            "start": {
              "line": 59,
              "column": 8
            },
            "end": {
              "line": 62,
              "column": 9
            }
          },
          "metadata": {},
          "type": "number"
        },
        {
          "name": "saturate",
          "description": "if true, the value does not revolve the range according to the maximum or the minimum",
          "sourceRange": {
            "start": {
              "line": 67,
              "column": 8
            },
            "end": {
              "line": 70,
              "column": 9
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "use-negative-zero",
          "description": "if true, the value will break on 0 to -0",
          "sourceRange": {
            "start": {
              "line": 75,
              "column": 8
            },
            "end": {
              "line": 78,
              "column": 9
            }
          },
          "metadata": {},
          "type": "boolean"
        },
        {
          "name": "no-clamp",
          "description": "if true, the value does not clamp according to the given step",
          "sourceRange": {
            "start": {
              "line": 83,
              "column": 8
            },
            "end": {
              "line": 86,
              "column": 9
            }
          },
          "metadata": {},
          "type": "boolean"
        }
      ],
      "events": [],
      "styling": {
        "cssVariables": [],
        "selectors": []
      },
      "slots": []
    }
  ],
  "functions": [
    {
      "name": "safeAdd",
      "description": "emulating handwritten addition to keep precision",
      "summary": "",
      "sourceRange": {
        "file": "number-utilities.js",
        "start": {
          "line": 9,
          "column": 23
        },
        "end": {
          "line": 28,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "Number",
          "desc": "summand",
          "name": "a"
        },
        {
          "type": "Number",
          "desc": "summand",
          "name": "b"
        }
      ],
      "return": {
        "type": "Number",
        "desc": "sum"
      }
    },
    {
      "name": "safeMult",
      "description": "emulating handwritten multiplication to keep precision",
      "summary": "",
      "sourceRange": {
        "file": "number-utilities.js",
        "start": {
          "line": 36,
          "column": 24
        },
        "end": {
          "line": 59,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "number",
          "desc": "factor",
          "name": "a"
        },
        {
          "type": "number",
          "desc": "factor",
          "name": "b"
        }
      ],
      "return": {
        "type": "type",
        "desc": "product"
      }
    },
    {
      "name": "decimalPrecision",
      "description": "get decimal precision of a number (of decimal and exponential notation)",
      "summary": "",
      "sourceRange": {
        "file": "number-utilities.js",
        "start": {
          "line": 66,
          "column": 32
        },
        "end": {
          "line": 71,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "number",
          "desc": "[number]",
          "name": "a"
        }
      ],
      "return": {
        "type": "type",
        "desc": "[precision]"
      }
    },
    {
      "name": "mathMod",
      "description": "mathematical modulor",
      "summary": "",
      "sourceRange": {
        "file": "number-utilities.js",
        "start": {
          "line": 79,
          "column": 23
        },
        "end": {
          "line": 81,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "Number",
          "desc": "",
          "name": "dividend"
        },
        {
          "type": "Number",
          "desc": "",
          "name": "divisor"
        }
      ],
      "return": {
        "type": "Number"
      }
    },
    {
      "name": "normalizedClamp",
      "description": "clamp to 0 or 1",
      "summary": "",
      "sourceRange": {
        "file": "number-utilities.js",
        "start": {
          "line": 88,
          "column": 31
        },
        "end": {
          "line": 90,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "Number",
          "desc": "",
          "name": "n"
        }
      ],
      "return": {
        "type": "Number"
      }
    },
    {
      "name": "isNegative",
      "description": "computes, if a number is negative (including -0)",
      "summary": "",
      "sourceRange": {
        "file": "number-utilities.js",
        "start": {
          "line": 97,
          "column": 26
        },
        "end": {
          "line": 99,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "Number",
          "desc": "",
          "name": "n"
        }
      ],
      "return": {
        "type": "Boolean"
      }
    },
    {
      "name": "isNegative0",
      "description": "computes if a number is negative zero",
      "summary": "",
      "sourceRange": {
        "file": "number-utilities.js",
        "start": {
          "line": 106,
          "column": 27
        },
        "end": {
          "line": 108,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "Number",
          "desc": "",
          "name": "n"
        }
      ],
      "return": {
        "type": "Boolean"
      }
    },
    {
      "name": "randomRgb",
      "description": "generate random rgb-color",
      "summary": "",
      "sourceRange": {
        "file": "color-mixin.js",
        "start": {
          "line": 28,
          "column": 25
        },
        "end": {
          "line": 34,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [],
      "return": {
        "type": "rgbObject",
        "desc": "rgb-color object"
      }
    },
    {
      "name": "normalizeRgb",
      "description": "normalize rgb properties",
      "summary": "",
      "sourceRange": {
        "file": "color-mixin.js",
        "start": {
          "line": 54,
          "column": 28
        },
        "end": {
          "line": 59,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "rgbObject",
          "desc": "The rgb-object of which the values should be normalized",
          "name": "rgb"
        }
      ],
      "return": {
        "type": "rgbObject",
        "desc": "The normalized rgb-object."
      }
    },
    {
      "name": "normalizeHsl",
      "description": "normalize hsl values",
      "summary": "",
      "sourceRange": {
        "file": "color-mixin.js",
        "start": {
          "line": 67,
          "column": 28
        },
        "end": {
          "line": 73,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "hslObject",
          "desc": "The hsl-object of which the values should be normalized",
          "name": "hsl"
        },
        {
          "type": "number",
          "desc": "The precision of the hsl properties",
          "name": "hslPrecision"
        }
      ],
      "return": {
        "type": "hslObject",
        "desc": "The normalized hsl-object."
      }
    },
    {
      "name": "hexToRgb",
      "description": "convert hex to rgb",
      "summary": "",
      "sourceRange": {
        "file": "color-mixin.js",
        "start": {
          "line": 80,
          "column": 24
        },
        "end": {
          "line": 93,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "string",
          "desc": "The hex string without alpha",
          "name": "hex"
        }
      ],
      "return": {
        "type": "rgbObject",
        "desc": "the rgb object"
      }
    },
    {
      "name": "rgbToHex",
      "description": "convert hex to rgb",
      "summary": "",
      "sourceRange": {
        "file": "color-mixin.js",
        "start": {
          "line": 114,
          "column": 24
        },
        "end": {
          "line": 119,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "string",
          "desc": "The hex string without alpha",
          "name": "hex"
        }
      ],
      "return": {
        "type": "rgbObject",
        "desc": "the rgb object"
      }
    },
    {
      "name": "rgbToHsl",
      "description": "convert rgb to hsl (the values are not rounded)",
      "summary": "",
      "sourceRange": {
        "file": "color-mixin.js",
        "start": {
          "line": 127,
          "column": 24
        },
        "end": {
          "line": 163,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "rgbObject",
          "desc": "rgb object",
          "name": "rgb"
        },
        {
          "type": "Number",
          "desc": "hue to set if saturation is 0",
          "name": "defaultH"
        }
      ],
      "return": {
        "type": "hslObject",
        "desc": "hsl object"
      }
    },
    {
      "name": "hslToRgb",
      "description": "convert hsl to rgb (the values are not rounded)",
      "summary": "",
      "sourceRange": {
        "file": "color-mixin.js",
        "start": {
          "line": 187,
          "column": 24
        },
        "end": {
          "line": 198,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "hslObject",
          "desc": "hsl object",
          "name": "hsl"
        }
      ],
      "return": {
        "type": "rgbObject",
        "desc": "rgb object"
      }
    },
    {
      "name": "alphaToHex",
      "description": "convert alpha number to hex-alpha-string",
      "summary": "",
      "sourceRange": {
        "file": "color-mixin.js",
        "start": {
          "line": 206,
          "column": 26
        },
        "end": {
          "line": 212,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "number",
          "desc": "The alpha number",
          "name": "alpha"
        },
        {
          "type": "number",
          "desc": "The expected string length",
          "name": "length"
        }
      ],
      "return": {
        "type": "string",
        "desc": "The computed hex-alpha-string"
      }
    },
    {
      "name": "hexToAlpha",
      "description": "convert hex-alpha-string to alpha number",
      "summary": "",
      "sourceRange": {
        "file": "color-mixin.js",
        "start": {
          "line": 220,
          "column": 26
        },
        "end": {
          "line": 224,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "string",
          "desc": "The hex-alpha-string",
          "name": "hex"
        },
        {
          "type": "number",
          "desc": "The concidered string length",
          "name": "length"
        }
      ],
      "return": {
        "type": "number",
        "desc": "The computed alpha number"
      }
    },
    {
      "name": "testColor",
      "description": "test a color string in local browser environment",
      "summary": "",
      "sourceRange": {
        "file": "color-mixin.js",
        "start": {
          "line": 252,
          "column": 25
        },
        "end": {
          "line": 260,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "CanvasRenderingContext2D",
          "desc": "The canvas context to test on",
          "name": "canvasContext"
        },
        {
          "type": "string",
          "desc": "The color string to tests",
          "name": "colorString"
        }
      ],
      "return": {
        "type": "imgData",
        "desc": "The resulted color data of the test"
      }
    },
    {
      "name": "pad",
      "description": "pad a string with 0",
      "summary": "",
      "sourceRange": {
        "file": "datetime-mixin.js",
        "start": {
          "line": 20,
          "column": 19
        },
        "end": {
          "line": 26,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "number",
          "desc": "number to pad",
          "name": "n"
        },
        {
          "type": "number",
          "desc": "total length of strings",
          "name": "padLength"
        }
      ],
      "return": {
        "type": "string",
        "desc": "padded string"
      }
    },
    {
      "name": "toDateStringByComponents",
      "description": "get date string from date components",
      "summary": "",
      "sourceRange": {
        "file": "datetime-mixin.js",
        "start": {
          "line": 35,
          "column": 40
        },
        "end": {
          "line": 37,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "number",
          "desc": "",
          "name": "year"
        },
        {
          "type": "number",
          "desc": "",
          "name": "month"
        },
        {
          "type": "number",
          "desc": "",
          "name": "day"
        }
      ],
      "return": {
        "type": "string",
        "desc": "date string"
      }
    },
    {
      "name": "toTimeStringByComponents",
      "description": "get time string from date components",
      "summary": "",
      "sourceRange": {
        "file": "datetime-mixin.js",
        "start": {
          "line": 47,
          "column": 40
        },
        "end": {
          "line": 49,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "number",
          "desc": "",
          "name": "hour"
        },
        {
          "type": "number",
          "desc": "",
          "name": "minute"
        },
        {
          "type": "number",
          "desc": "",
          "name": "second"
        },
        {
          "type": "number",
          "desc": "",
          "name": "millisecond"
        }
      ],
      "return": {
        "type": "string",
        "desc": "time string"
      }
    },
    {
      "name": "computeTimezone",
      "description": "compute the timezone properties from given offset minutes",
      "summary": "",
      "sourceRange": {
        "file": "datetime-mixin.js",
        "start": {
          "line": 64,
          "column": 31
        },
        "end": {
          "line": 86,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "number",
          "desc": "The offset minutes",
          "name": "offsetMinutes"
        }
      ],
      "return": {
        "type": "TimeZoneProperties",
        "desc": "The timezone properties"
      }
    },
    {
      "name": "computeTimezoneOffset",
      "description": "compute the timezone properties from a given timezone-string",
      "summary": "",
      "sourceRange": {
        "file": "datetime-mixin.js",
        "start": {
          "line": 93,
          "column": 37
        },
        "end": {
          "line": 123,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "string",
          "desc": "The timezone-string",
          "name": "timezone"
        }
      ],
      "return": {
        "type": "TimeZoneProperties",
        "desc": "The timezone properties"
      }
    },
    {
      "name": "maxDayOfMonth",
      "description": "compute the last day of a month in a year",
      "summary": "",
      "sourceRange": {
        "file": "datetime-mixin.js",
        "start": {
          "line": 131,
          "column": 29
        },
        "end": {
          "line": 139,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "number",
          "desc": "the year",
          "name": "year"
        },
        {
          "type": "number",
          "desc": "the month",
          "name": "month"
        }
      ],
      "return": {
        "type": "number",
        "desc": "the last day of the month"
      }
    },
    {
      "name": "fromDatetime",
      "description": "compute a date object",
      "summary": "",
      "sourceRange": {
        "file": "datetime-mixin.js",
        "start": {
          "line": 153,
          "column": 28
        },
        "end": {
          "line": 194,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "(string | number | object)",
          "desc": "",
          "name": "datetime"
        },
        {
          "type": "number",
          "desc": "",
          "name": "offsetMinutes"
        },
        {
          "type": "boolean",
          "desc": "Defies weather the the datetime-string should be treated as timeOnly",
          "name": "timeOnly"
        }
      ],
      "return": {
        "type": "DateTimezone",
        "desc": "date"
      }
    },
    {
      "name": "toDurationString",
      "description": "computes from a number the duration string",
      "summary": "",
      "sourceRange": {
        "file": "duration-mixin.js",
        "start": {
          "line": 12,
          "column": 32
        },
        "end": {
          "line": 45,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "number",
          "desc": "The duration as a number in milliseconds",
          "name": "value"
        }
      ],
      "return": {
        "type": "string",
        "desc": "The duration string"
      }
    },
    {
      "name": "toDurationNumber",
      "description": "computes from a duration string the number of milliseconds of the duration",
      "summary": "",
      "sourceRange": {
        "file": "duration-mixin.js",
        "start": {
          "line": 52,
          "column": 32
        },
        "end": {
          "line": 60,
          "column": 1
        }
      },
      "privacy": "public",
      "params": [
        {
          "type": "string",
          "desc": "The duration string",
          "name": "valueString"
        }
      ],
      "return": {
        "type": "number",
        "desc": "The number of milliseconds of the duration"
      }
    }
  ]
}
