{
  "scriptappy": "1.1.0",
  "info": {
    "name": "@nebula.js/sn-line-chart:properties",
    "description": "Line chart generic object definition",
    "version": "2.1.0",
    "license": "MIT",
    "stability": "stable",
    "x-qlik-visibility": "public"
  },
  "entries": {
    "properties": {
      "kind": "namespace",
      "entries": {
        "color": {
          "description": "Color settings.\nMost color options for visualizations are set in the color object in the options. You activate custom coloring by setting `\"auto\": false` which turns off auto-coloring.\nIf `\"auto\": true`, no other properties need to be defined in the color object.\nNote: Some of the color properties are depending on which theme is currently being used.",
          "entries": {
            "auto": {
              "description": "Set to use automatic coloring.\nWhen `\"auto\": true`, color settings are based on the visualization used and the number of dimensions\nand measures, that is, the settings are not fixed, but are dependent on the data input.",
              "defaultValue": true,
              "type": "boolean"
            },
            "autoMinMax": {
              "description": "Set to false to define custom color range. Custom color range is only applicable when coloring is by measure (`\"mode\": \"byMeasure\"`) or by expression (`\"mode\": \"byExpression\"`).\nWhen coloring is by expression, `\"expressionIsColor\": \"false\"` must be set for custom color range to work.",
              "defaultValue": true,
              "type": "boolean"
            },
            "byDimDef": {
              "optional": true,
              "defaultValue": "undefined",
              "type": "#/definitions/byDimDef"
            },
            "byMeasureDef": {
              "optional": true,
              "defaultValue": "undefined",
              "type": "#/definitions/byMeasureDef"
            },
            "colorExpression": {
              "description": "Sets the color expression to be used when `\"mode\": \"byExpression\"` is defined.\nExpression can evaluate either to a numerical value or a color code if `\"expressionIsColor\": true`.\nSupported formats are: `RGB`, `ARGB` and `HSL`",
              "optional": true,
              "defaultValue": "undefined",
              "type": "string",
              "examples": [
                "\"colorExpression\": \"=if(sum(Sales)<avg(Total aggr(sum(Sales),Product)),rgb(255,0,0),RGB(0,255,0))\""
              ]
            },
            "dimensionScheme": {
              "description": "Color scheme when `\"mode\": \"byDimension\"` or `\"mode\": \"byMultiple\"` (`\"12\"` or `\"100\"` for most themes).",
              "defaultValue": "12",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'12'"
                },
                {
                  "kind": "literal",
                  "value": "'100'"
                }
              ]
            },
            "expressionIsColor": {
              "description": "Set to define whether the result of the expression is a valid CSS3 color.\nOnly applicable when `\"mode\": \"byExpression\"`.",
              "defaultValue": true,
              "type": "boolean"
            },
            "expressionLabel": {
              "description": "Label to be defined on tool tips when using a coloring expression.\nOnly used if `'expressionIsColor': false`.",
              "defaultValue": "",
              "type": "string"
            },
            "formatting": {
              "description": "Color by measure number formatting options",
              "kind": "object",
              "entries": {
                "isCustomFormatted": {
                  "description": "If true, the client formatting will be toggled off",
                  "optional": true,
                  "defaultValue": false,
                  "type": "boolean"
                },
                "numFormatFromTemplate": {
                  "description": "When enabled, the number format to use can be selected from multiple predefined formats based on the desired type (number, date).",
                  "optional": true,
                  "defaultValue": true,
                  "type": "boolean"
                }
              }
            },
            "measureMax": {
              "description": "Set the max value for the color range.\nOnly applicable if `\"autoMinMax\": false`.",
              "optional": true,
              "defaultValue": "undefined",
              "type": "ValueExpression"
            },
            "measureMin": {
              "description": "Set the min value for the color range.\nOnly applicable if `\"autoMinMax\": false`.",
              "optional": true,
              "defaultValue": "undefined",
              "type": "ValueExpression"
            },
            "measureScheme": {
              "description": "Color scheme when `\"mode\": \"byMeasure\"`. Can be one of:\n* `sg`: (sequential gradient) the transition between the different color groups is made using different shades of colors. High measure values have darker hues\n* `sc`: (sequential classes) the transition between the different color groups is made using distinctly different colors.\n* `dg`: (diverging gradient) used when working with data that is ordered from low to high, for instance, to show the relationship between different areas on a map. Low and high values have dark colors, mid-range colors are light.\n* `dc`: (diverging classes) can be seen as two sequential classes combined, with the mid-range shared. The two extremes, high and low, are emphasized with dark colors with contrasting hues, and the mid-range critical values are emphasized with light colors.",
              "defaultValue": "sg",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'sg'"
                },
                {
                  "kind": "literal",
                  "value": "'sc'"
                },
                {
                  "kind": "literal",
                  "value": "'dg'"
                },
                {
                  "kind": "literal",
                  "value": "'dc'"
                }
              ]
            },
            "mode": {
              "description": "Sets the coloring mode for the visualization when auto-coloring has been switched off (`\"auto\": false`). Can be one of:\n* `primary`: a single color (by default blue) is used for all items in the chart. In visualizations that do not benefit from multiple colors (bar charts with one dimension and scatter plots), single color is the default setting.\n* `byDimension`: coloring is based upon the amount of dimension values. Details are set in the `\"byDimDef\"` property.\n!Note: `byDimension` can only be used in conjunction with an attribute dimension on the dimension to color by, as shown in the example below.\n```json\n{\n    \"qDef\": {\n      \"qFieldDefs\": [\n        \"NetScoreName\"\n      ]\n    },\n    \"qAttributeDimensions\": [\n      {\n        \"qDef\": \"NetScoreName\",\n        \"id\": \"colorByAlternative\",\n        \"label\": \"Year\"\n      }\n    ]\n}\n```\n* `byExpression`: coloring is based on an expression, which in most cases is a color code. Details are set in the `\"expressionIsColor\"`, `\"expressionLabel`\" and `\"colorExpression\"` properties.\n* `byMeasure`: coloring is based on the measure value. Details are set in the `\"byMeasureDef\"` property.\n* `byMultiple`: can be used when more than one measure is used. By default, 12 colors are used for the dimensions. The colors are reused when there are more than 12 dimension values.",
              "defaultValue": "primary",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'primary'"
                },
                {
                  "kind": "literal",
                  "value": "'byDimension'"
                },
                {
                  "kind": "literal",
                  "value": "'byExpression'"
                },
                {
                  "kind": "literal",
                  "value": "'byMeasure'"
                },
                {
                  "kind": "literal",
                  "value": "'byMultiple'"
                }
              ]
            },
            "paletteColor": {
              "description": "The paletteColor object is used to define the color when you color by single color `(\"mode\": \"primary\")`.",
              "defaultValue": "{ index: 6 }",
              "type": "#/definitions/paletteColor"
            },
            "persistent": {
              "description": "Set to use persistent colors on data points between selections. Only applicable when using one dimension and when `\"mode\": \"byDimension\"` or when `\"mode\": \"byMultiple\"`.",
              "defaultValue": false,
              "type": "boolean"
            },
            "reverseScheme": {
              "description": "Set to reverse the color scheme.",
              "defaultValue": false,
              "type": "boolean"
            },
            "singleColor": {
              "availability": {
                "deprecated": true
              },
              "type": "number"
            },
            "useBaseColors": {
              "description": "Use colors encoded in master items.\nOnly applicable when `\"mode\": \"primary\"` or `\"mode\": \"byMultiple\"` has been defined.",
              "defaultValue": "off",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'off'"
                },
                {
                  "kind": "literal",
                  "value": "'dimension'"
                },
                {
                  "kind": "literal",
                  "value": "'measure'"
                }
              ]
            },
            "useDimColVal": {
              "description": "Set to true if you want to apply the colors defined for library dimensions when used.\nOnly applicable if `'colorMode': 'byDimension'`.",
              "defaultValue": true,
              "type": "boolean"
            },
            "useMeasureGradient": {
              "description": "Set to true if you want to apply the colors defined for library measures when used. Only applicable if `\"mode\": \"byMeasure\"`.",
              "defaultValue": true,
              "type": "boolean"
            }
          },
          "kind": "object"
        },
        "components": {
          "description": "Styling of chart components.",
          "kind": "array",
          "items": {
            "type": "#/definitions/Component"
          }
        },
        "dataPoint": {
          "description": "Data point settings.",
          "entries": {
            "show": {
              "description": "Show data points.",
              "defaultValue": false,
              "type": "boolean"
            },
            "showLabels": {
              "description": "Show labels on data points.",
              "defaultValue": false,
              "type": "boolean"
            }
          },
          "kind": "object"
        },
        "dimensionAxis": {
          "description": "Dimension axis settings.",
          "entries": {
            "axisDisplayMode": {
              "description": "Set to specify axis display mode (number of axis values).",
              "defaultValue": "auto",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'auto'"
                },
                {
                  "kind": "literal",
                  "value": "'custom'"
                },
                {
                  "kind": "literal",
                  "value": "'max'"
                }
              ]
            },
            "continuousAuto": {
              "description": "Continuous setting used for toggling between auto and custom setting",
              "defaultValue": true,
              "type": "boolean"
            },
            "dock": {
              "description": "Axis docking position",
              "defaultValue": "near",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'near'"
                },
                {
                  "kind": "literal",
                  "value": "'far'"
                }
              ]
            },
            "label": {
              "description": "Label orientation",
              "defaultValue": "auto",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'auto'"
                },
                {
                  "kind": "literal",
                  "value": "'horizontal'"
                },
                {
                  "kind": "literal",
                  "value": "'tilted'"
                }
              ]
            },
            "maxVisibleItems": {
              "description": "Only visible when axisDisplayMode is custom.\nMax = 10000 / (numDims+numMeasures)",
              "defaultValue": 10,
              "kind": "union",
              "items": [
                {
                  "type": "number"
                },
                {
                  "type": "ValueExpression"
                }
              ]
            },
            "show": {
              "description": "Labels and title",
              "defaultValue": "all",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'all'"
                },
                {
                  "kind": "literal",
                  "value": "'labels'"
                },
                {
                  "kind": "literal",
                  "value": "'title'"
                },
                {
                  "kind": "literal",
                  "value": "'none'"
                }
              ]
            }
          },
          "kind": "object"
        },
        "footnote": {
          "description": "Visualization footnote.",
          "optional": true,
          "defaultValue": "",
          "kind": "union",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "StringExpression"
            }
          ]
        },
        "gridLine": {
          "description": "Grid lines settings.",
          "entries": {
            "auto": {
              "description": "Automatic grid line spacing.",
              "defaultValue": true,
              "type": "boolean"
            },
            "spacing": {
              "description": "Grid line spacing. Used only when auto is set to false.",
              "defaultValue": 2,
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": 0
                },
                {
                  "kind": "literal",
                  "value": 1
                },
                {
                  "kind": "literal",
                  "value": 2
                },
                {
                  "kind": "literal",
                  "value": 3
                }
              ]
            }
          },
          "kind": "object"
        },
        "legend": {
          "description": "Legend settings.",
          "entries": {
            "dock": {
              "description": "Sets the legend position.",
              "defaultValue": "auto",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'auto'"
                },
                {
                  "kind": "literal",
                  "value": "'right'"
                },
                {
                  "kind": "literal",
                  "value": "'left'"
                },
                {
                  "kind": "literal",
                  "value": "'bottom'"
                },
                {
                  "kind": "literal",
                  "value": "'top'"
                }
              ]
            },
            "show": {
              "description": "Set to show the legend.",
              "defaultValue": true,
              "type": "boolean"
            },
            "showTitle": {
              "description": "Show the legend title.",
              "defaultValue": true,
              "type": "boolean"
            }
          },
          "kind": "object"
        },
        "lineType": {
          "description": "Type of line chart.",
          "defaultValue": "line",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'line'"
            },
            {
              "kind": "literal",
              "value": "'area'"
            }
          ]
        },
        "measureAxis": {
          "description": "Measure axis settings.",
          "entries": {
            "autoMinMax": {
              "description": "Automatic max/min",
              "defaultValue": true,
              "type": "boolean"
            },
            "dock": {
              "description": "Axis docking position",
              "defaultValue": "near",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'near'"
                },
                {
                  "kind": "literal",
                  "value": "'far'"
                }
              ]
            },
            "logarithmic": {
              "description": "Logarithmic scale",
              "defaultValue": false,
              "type": "boolean"
            },
            "max": {
              "description": "Axis max value. `\"autoMinMax\"` must be set to false and `\"minMax\"`\nmust be set to `\"max\"` or `\"minMax\"` to use this property",
              "defaultValue": 10,
              "kind": "union",
              "items": [
                {
                  "type": "number"
                },
                {
                  "type": "ValueExpression"
                }
              ]
            },
            "min": {
              "description": "Axis min value. `\"autoMinMax\"` must be set to false and `\"minMax\"`\nmust be set to `\"min\"` or `\"minMax\"` to use this property",
              "defaultValue": 0,
              "kind": "union",
              "items": [
                {
                  "type": "number"
                },
                {
                  "type": "ValueExpression"
                }
              ]
            },
            "minMax": {
              "description": "Set custom max/min",
              "defaultValue": "min",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'min'"
                },
                {
                  "kind": "literal",
                  "value": "'max'"
                },
                {
                  "kind": "literal",
                  "value": "'minMax'"
                }
              ]
            },
            "show": {
              "description": "Labels and title",
              "defaultValue": "all",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'all'"
                },
                {
                  "kind": "literal",
                  "value": "'labels'"
                },
                {
                  "kind": "literal",
                  "value": "'title'"
                },
                {
                  "kind": "literal",
                  "value": "'none'"
                }
              ]
            },
            "spacing": {
              "description": "Axis scale",
              "defaultValue": 1,
              "type": "number"
            }
          },
          "kind": "object"
        },
        "nullMode": {
          "description": "Null value presentation",
          "optional": true,
          "defaultValue": "gap",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'gap'"
            },
            {
              "kind": "literal",
              "value": "'connect'"
            },
            {
              "kind": "literal",
              "value": "'zero'"
            }
          ]
        },
        "orientation": {
          "description": "Orientation setting.\nIf horizontal, the dimension axis can only be docked on bottom or top and measure axis on left or right.",
          "defaultValue": "horizontal",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'vertical'"
            },
            {
              "kind": "literal",
              "value": "'horizontal'"
            }
          ]
        },
        "preferContinuousAxis": {
          "description": "Chart axis setting to control preference of scale on a dimensional axis.\nIf true, the scale along the dimensional axis will be continuous if\nthe data supports it, discrete otherwise.",
          "defaultValue": true,
          "type": "boolean"
        },
        "qHyperCubeDef": {
          "description": "Extends `HyperCubeDef`, see Engine API: `HyperCubeDef`.",
          "extends": [
            {
              "type": "HyperCubeDef"
            }
          ],
          "kind": "object",
          "entries": {
            "qAlwaysFullyExpanded": {
              "defaultValue": true,
              "type": "boolean"
            },
            "qDimensions": {
              "kind": "array",
              "items": {
                "type": "#/definitions/DimensionProperties"
              }
            },
            "qMeasures": {
              "kind": "array",
              "items": {
                "type": "#/definitions/MeasureProperties"
              }
            },
            "qSuppressMissing": {
              "defaultValue": true,
              "type": "boolean"
            },
            "qSuppressZero": {
              "defaultValue": false,
              "type": "boolean"
            }
          }
        },
        "refLine": {
          "description": "Reference lines settings",
          "entries": {
            "dimRefLines": {
              "description": "Array of dimension based reference line definitions",
              "kind": "array",
              "items": {
                "type": "#/definitions/dimRefLine"
              }
            },
            "refLines": {
              "description": "Array of measure based reference line definitions",
              "kind": "array",
              "items": {
                "type": "#/definitions/refLine"
              }
            }
          },
          "kind": "object"
        },
        "scrollbar": {
          "description": "Sets the style of the scroll bar",
          "defaultValue": "miniChart",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'bar'"
            },
            {
              "kind": "literal",
              "value": "'miniChart'"
            },
            {
              "kind": "literal",
              "value": "'none'"
            }
          ]
        },
        "scrollStartPos": {
          "description": "Scroll Alignment. If 0, then the scrollbar will start at the left/top of the chart,\nif 1 it starts at the right/bottom of the chart. Generally decides if the scroll\nstarts at the beginning or end of the data",
          "defaultValue": 0,
          "type": "number"
        },
        "separateStacking": {
          "description": "Stack positive and negative values separately. Dependent of lineType property.",
          "defaultValue": true,
          "type": "boolean"
        },
        "showDetails": {
          "description": "Show visualization details toggle",
          "optional": true,
          "defaultValue": true,
          "type": "boolean"
        },
        "showDisclaimer": {
          "description": "Show visualization disclaimer toggle",
          "defaultValue": true,
          "type": "boolean"
        },
        "showMiniChartForContinuousAxis": {
          "description": "Chart axis setting to turn on/off the mini chart for continuous axis.",
          "defaultValue": true,
          "type": "boolean"
        },
        "showTitles": {
          "description": "Show title for the visualization.",
          "optional": true,
          "defaultValue": true,
          "type": "boolean"
        },
        "stackedArea": {
          "description": "Stack areas. Dependent of lineType property.",
          "defaultValue": false,
          "type": "boolean"
        },
        "subtitle": {
          "description": "Visualization subtitle.",
          "optional": true,
          "defaultValue": "",
          "kind": "union",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "StringExpression"
            }
          ]
        },
        "title": {
          "description": "Visualization title.",
          "optional": true,
          "defaultValue": "",
          "kind": "union",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "StringExpression"
            }
          ]
        },
        "tooltip": {
          "description": "Custom tooltip properties",
          "entries": {
            "auto": {
              "description": "Toggle for using custom tooltip or regular tooltip",
              "defaultValue": true,
              "type": "boolean"
            },
            "chart": {
              "description": "The chart object is used to define the chart displayed by the custom tooltip.",
              "defaultValue": "undefined",
              "type": "#/definitions/MasterVisualizationChart"
            },
            "description": {
              "description": "Custom tooltip description.",
              "optional": true,
              "defaultValue": "",
              "kind": "union",
              "items": [
                {
                  "type": "string"
                },
                {
                  "type": "StringExpression"
                }
              ]
            },
            "hideBasic": {
              "description": "Toggle for hiding basic information from custom tooltip",
              "defaultValue": false,
              "type": "boolean"
            },
            "imageComponents": {
              "description": "The imageComponents objects are used to define the images displayed by the custom tooltip.",
              "defaultValue": "undefined",
              "kind": "array",
              "items": {
                "type": "#/definitions/ImageComponent"
              }
            },
            "title": {
              "description": "Custom tooltip title.",
              "optional": true,
              "defaultValue": "",
              "kind": "union",
              "items": [
                {
                  "type": "string"
                },
                {
                  "type": "StringExpression"
                }
              ]
            }
          },
          "kind": "object"
        },
        "version": {
          "description": "Current version of this generic object definition",
          "type": "string"
        }
      }
    }
  },
  "definitions": {
    "Accumulation": {
      "description": "It allows you to accumulate values of your measure over one or two dimensions.",
      "kind": "object",
      "entries": {
        "fullAccumulation": {
          "description": "Select whether the accumulation will happen on the Full range or Custom range.",
          "type": "boolean"
        },
        "showExcludedValues": {
          "description": "Shows the excluded values (values not in the current selection) in the accumulation.",
          "type": "boolean"
        },
        "type": {
          "description": "This should be set to `\"accumulation\"`.",
          "type": "string"
        },
        "accumulationDimension:": {
          "description": "Only applicable when there are two dimensions. Selects the dimension on which the accumulation will take place. If the accumulation is made across multiple dimensions, this will be the first dimension.",
          "optional": true,
          "type": "number"
        },
        "crossAllDimensions": {
          "description": "Only applicable when there are two dimensions. Continues accumulation across both dimensions.",
          "optional": true,
          "type": "boolean"
        },
        "disabled": {
          "optional": true,
          "type": "boolean"
        },
        "steps": {
          "description": "Only applicable when `fullAccumulation` is set to `false`. The number of steps in the dimensions which form an accumulation range. Only zero and positive integers are accepted.\nNote: Sorting order of dimension values (or step order) is important and affects results.",
          "optional": true,
          "type": "number"
        }
      }
    },
    "AttributeDimensionProperties": {
      "description": "Extends `NxAttrDimDef`, see Engine API: `NxAttrDimDef`.",
      "extends": [
        {
          "type": "NxAttrDimDef"
        }
      ],
      "kind": "object",
      "entries": {
        "id": {
          "description": "One of: `colorByAlternative`: colors the chart using different dimensions (can be used together with color.mode=\"byDimension\") or `colorByExpression` together with color.mode=\"byExpression\".",
          "type": "string"
        }
      }
    },
    "AttributeExpressionProperties": {
      "kind": "alias",
      "items": {
        "kind": "union",
        "items": [
          {
            "type": "#/definitions/ColorAttributes"
          },
          {
            "type": "#/definitions/CustomTooltipAttributes"
          },
          {
            "type": "#/definitions/ForecastAttributes"
          }
        ]
      }
    },
    "Axis": {
      "kind": "object",
      "entries": {
        "axis": {
          "type": "#/definitions/AxisStyling"
        },
        "key": {
          "description": "This should be set to `\"axis\"` (Determines which component the settings apply to).",
          "type": "string"
        }
      }
    },
    "AxisStyling": {
      "kind": "object",
      "entries": {
        "label": {
          "type": "#/definitions/LabelNameStyling"
        },
        "title": {
          "type": "#/definitions/FontStyling"
        }
      }
    },
    "byDimDef": {
      "description": "Settings when coloring by dimension (`\"mode\": \"byDimension\"`)",
      "kind": "object",
      "entries": {
        "key": {
          "description": "libraryId if `\"type\": \"libraryItem\"`, dimension expression if `\"type\": \"expression\"`",
          "type": "string"
        },
        "label": {
          "description": "Label displayed for coloring (in legend and tooltip for instance). String or expression. Not used when coloring by library items.",
          "type": "string"
        },
        "type": {
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'expression'"
            },
            {
              "kind": "literal",
              "value": "'libraryItem'"
            }
          ]
        }
      }
    },
    "byMeasureDef": {
      "description": "Settings when coloring by measure (`\"mode\": \"byMeasure\"`)",
      "kind": "object",
      "entries": {
        "key": {
          "description": "libraryId if `\"type\": \"libraryItem\"`, measure expression if `\"type\": \"expression\"`",
          "type": "string"
        },
        "label": {
          "description": "Label displayed for coloring (in legend and tooltip for instance). String or expression. Not used when coloring by library items.",
          "type": "string"
        },
        "type": {
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'expression'"
            },
            {
              "kind": "literal",
              "value": "'libraryItem'"
            }
          ]
        }
      }
    },
    "ColorAttributes": {
      "description": "Extends `NxAttrExprDef`, see Engine API: `NxAttrExprDef`.",
      "extends": [
        {
          "type": "NxAttrExprDef"
        }
      ],
      "kind": "object",
      "entries": {
        "id": {
          "description": "One of: `colorByAlternative`: colors the chart using different dimensions (can be used together with color.mode=\"byDimension\") or `colorByExpression` together with color.mode=\"byExpression\".",
          "type": "string"
        }
      }
    },
    "Component": {
      "kind": "alias",
      "items": {
        "kind": "union",
        "items": [
          {
            "type": "#/definitions/Line"
          },
          {
            "type": "#/definitions/Label"
          },
          {
            "type": "#/definitions/Axis"
          },
          {
            "type": "#/definitions/Legend"
          }
        ]
      }
    },
    "CustomTooltipAttributes": {
      "description": "Extends `NxAttrExprDef`, see Engine API: `NxAttrExprDef`.",
      "extends": [
        {
          "type": "NxAttrExprDef"
        }
      ],
      "kind": "object",
      "entries": {
        "id": {
          "description": "Indicates how the attribute expression will be interpreted by the chart.\n`customTooltipTitle`: additional title displayed on the custom tooltip\n`customTooltipDescription`: description displayed on the custom tooltip\n`customTooltipExpression`: measures displayed on the custom tooltip",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'customTooltipTitle'"
            },
            {
              "kind": "literal",
              "value": "'customTooltipDescription'"
            },
            {
              "kind": "literal",
              "value": "'customTooltipExpression'"
            }
          ]
        }
      },
      "examples": [
        "```json\n\"qAttributeExpressions\": [{\n  \"qExpression\": \"\",\n  \"qLibraryId\": \"\",\n  \"qAttribute\": true,\n  \"qNumFormat\": {\n     \"qType\": \"U\",\n     \"qnDec\": 10,\n     \"qUseThou\": 0,\n     \"qFmt\": \"\",\n     \"qDec\": \"\",\n     \"qThou\": \"\",\n   }\n  \"qLabel\": \"custom title\",\n  \"qLabelExpression\": \"\",\n  \"id\": \"customTooltipTitle\"\n},\n{\n  \"qExpression\": \"avg(population)\",\n  \"qLibraryId\": \"\",\n  \"qAttribute\": true,\n  \"qNumFormat\": {\n     \"qType\": \"U\",\n     \"qnDec\": 10,\n     \"qUseThou\": 0,\n     \"qFmt\": \"\",\n     \"qDec\": \"\",\n     \"qThou\": \"\",\n   }\n  \"qLabel\": \"\",\n  \"qLabelExpression\": \"\",\n  \"id\": \"customTooltipDescription\"\n},\n{\n  \"qExpression\": \"\",\n  \"qLibraryId\": \"zpDNMcg\",\n  \"qAttribute\": true,\n  \"qNumFormat\": {\n     \"qType\": \"U\",\n     \"qnDec\": 10,\n     \"qUseThou\": 0,\n     \"qFmt\": \"\",\n     \"qDec\": \"\",\n     \"qThou\": \"\",\n   }\n  \"qLabel\": \"\",\n  \"qLabelExpression\": \"\",\n  \"id\": \"customTooltipExpression\"\n},\n{\n  \"qExpression\": \"sum(population)\",\n  \"qLibraryId\": \"\",\n  \"qAttribute\": true,\n  \"qNumFormat\": {\n     \"qType\": \"M\",\n     \"qnDec\": 2,\n     \"qUseThou\": 0,\n     \"qFmt\": \"$#,##0.00;-$#,##0.00\",\n     \"qDec\": \".\",\n     \"qThou\": \",\",\n   }\n  \"qLabel\": \"\",\n  \"qLabelExpression\": \"=avg(population)\",\n  \"id\": \"customTooltipExpression\"\n},\n{\n  \"qExpression\": \"'https://my_url/'+sum(population)\",\n  \"qLibraryId\": \"\",\n  \"qAttribute\": true,\n  \"qNumFormat\": null,\n  \"qLabel\": \"\",\n  \"qLabelExpression\": \"\",\n  \"cId\": \"generatedUniqueId\",\n  \"id\": \"customTooltipImages\"\n}]\n```"
      ]
    },
    "Difference": {
      "kind": "object",
      "entries": {
        "showExcludedValues": {
          "description": "Shows the excluded values (values not in the current selection) in the difference.",
          "type": "boolean"
        },
        "type": {
          "description": "This should be set to `\"difference\"`.",
          "type": "string"
        },
        "accumulationDimension:": {
          "description": "Only applicable when there are two dimensions. Selects the dimension on which the difference will take place. If the difference is made across multiple dimensions, this will be the first dimension.",
          "optional": true,
          "type": "number"
        },
        "crossAllDimensions": {
          "description": "Only applicable when there are two dimensions. Continues the difference across both dimensions.",
          "optional": true,
          "type": "boolean"
        },
        "disabled": {
          "optional": true,
          "type": "boolean"
        }
      }
    },
    "DimensionForecast": {
      "kind": "object",
      "entries": {
        "steps": {
          "description": "Number of forecast steps",
          "defaultValue": 3,
          "type": "number"
        },
        "stepSize": {
          "defaultValue": "'days'",
          "type": "number"
        },
        "stepSizeMultiplier": {
          "defaultValue": 1,
          "type": "number"
        }
      }
    },
    "DimensionProperties": {
      "description": "Extends `NxDimension`, see Engine API: `NxDimension`.",
      "extends": [
        {
          "type": "NxDimension"
        }
      ],
      "kind": "object",
      "entries": {
        "qAttributeDimensions": {
          "kind": "array",
          "items": {
            "type": "#/definitions/AttributeDimensionProperties"
          }
        },
        "qDef": {
          "type": "#/definitions/InlineDimensionDef"
        }
      }
    },
    "dimRefLine": {
      "kind": "object",
      "entries": {
        "label": {
          "description": "Reference line label.",
          "type": "string"
        },
        "paletteColor": {
          "type": "#/definitions/paletteColor"
        },
        "refLineExpr": {
          "kind": "object",
          "entries": {
            "value": {
              "kind": "union",
              "items": [
                {
                  "type": "number"
                },
                {
                  "type": "ValueExpression"
                }
              ]
            },
            "label": {
              "optional": true,
              "kind": "union",
              "items": [
                {
                  "type": "string"
                },
                {
                  "type": "StringExpression"
                }
              ]
            },
            "stringValue": {
              "kind": "union",
              "items": [
                {
                  "type": "string"
                },
                {
                  "type": "StringExpression"
                }
              ]
            }
          }
        },
        "show": {
          "description": "Set to true to display this reference line.",
          "defaultValue": true,
          "kind": "union",
          "items": [
            {
              "type": "boolean"
            },
            {
              "type": "ValueExpression"
            }
          ]
        },
        "align": {
          "description": "Set alignment for this reference line",
          "optional": true,
          "defaultValue": "'center'",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'start'"
            },
            {
              "kind": "literal",
              "value": "'center'"
            },
            {
              "kind": "literal",
              "value": "'end'"
            }
          ]
        },
        "coloredBackground": {
          "description": "Set to true to fill the label and/or value of this reference line with this color",
          "optional": true,
          "defaultValue": false,
          "type": "boolean"
        },
        "showLabel": {
          "description": "Set to true to show the label of this reference line.",
          "optional": true,
          "defaultValue": true,
          "type": "boolean"
        },
        "showValue": {
          "description": "Set to true to show the value of this reference line.",
          "optional": true,
          "defaultValue": true,
          "type": "boolean"
        },
        "style": {
          "description": "Styling settings for reference line",
          "optional": true,
          "type": "#/definitions/refLineStyle"
        }
      }
    },
    "FontStyling": {
      "kind": "object",
      "entries": {
        "color": {
          "type": "#/definitions/paletteColor"
        },
        "fontFamily": {
          "type": "string"
        },
        "fontSize": {
          "type": "string"
        }
      }
    },
    "ForecastAttributes": {
      "description": "Extends `NxAttrExprDef`, see Engine API: `NxAttrExprDef`.",
      "extends": [
        {
          "type": "NxAttrExprDef"
        }
      ],
      "kind": "object",
      "entries": {
        "id": {
          "description": "Indicates how the attribute expression will be interpreted by the chart.\n`forecast`: forecast line\n`forecast_lower`: lower edge of forecast confidence interval\n`forecast_upper`: upper edge of forecast confidence interval",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'forecast'"
            },
            {
              "kind": "literal",
              "value": "'forecast_lower'"
            },
            {
              "kind": "literal",
              "value": "'forecast_lower'"
            }
          ]
        }
      }
    },
    "ImageComponent": {
      "description": "Image component information structure.",
      "kind": "object",
      "entries": {
        "cId": {
          "description": "Identifier of the image component - used as a link with an attribute expression",
          "type": "string"
        },
        "ref": {
          "description": "The reference value of the image",
          "kind": "union",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "StringExpression"
            },
            {
              "type": "#/definitions/MediaLibraryRef"
            }
          ]
        },
        "size": {
          "description": "Size as 'small','medium','large' or 'original'",
          "type": "string"
        },
        "type": {
          "description": "Input type as 'url' or 'media library'",
          "type": "string"
        }
      }
    },
    "InlineDimensionDef": {
      "description": "Extends `NxInlineDimensionDef`, see Engine API: `NxInlineDimensionDef`.",
      "extends": [
        {
          "type": "NxInlineDimensionDef"
        }
      ],
      "kind": "object",
      "entries": {
        "forecast": {
          "type": "#/definitions/DimensionForecast"
        },
        "othersLabel": {
          "kind": "union",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "StringExpression"
            }
          ]
        },
        "autoSort": {
          "description": "Set to automatically sort the dimension.",
          "optional": true,
          "type": "boolean"
        },
        "cId": {
          "description": "ID used by the Qlik Sense. Must be unique within the current chart.",
          "optional": true,
          "type": "string"
        }
      }
    },
    "InlineMeasureDef": {
      "description": "Extends `NxInlineMeasureDef`, see Engine API: `NxInlineMeasureDef`.",
      "extends": [
        {
          "type": "NxInlineMeasureDef"
        }
      ],
      "kind": "object",
      "entries": {
        "forecast": {
          "type": "#/definitions/MeasureForecast"
        },
        "isCustomFormatted": {
          "description": "Set to true to toggle off the default client formatting.",
          "type": "boolean"
        },
        "numFormatFromTemplate": {
          "description": "When enabled, the number format to use can be selected from multiple predefined formats based on the desired type (number, date).",
          "defaultValue": true,
          "type": "boolean"
        },
        "othersLabel": {
          "kind": "union",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "StringExpression"
            }
          ]
        },
        "autoSort": {
          "description": "Set to automatically sort the measure.",
          "optional": true,
          "type": "boolean"
        },
        "cId": {
          "description": "ID used by the Qlik Sense. Must be unique within the current chart.",
          "optional": true,
          "type": "string"
        },
        "modifiers": {
          "description": "Set to apply a modifier to a measure.",
          "optional": true,
          "kind": "union",
          "items": [
            {
              "kind": "array",
              "items": {
                "type": "#/definitions/Modifier"
              }
            }
          ]
        },
        "style": {
          "description": "Can be used to change the line thickness, line type, and line curve for one of the lines.\nThese style settings will override the components styling settings.",
          "optional": true,
          "type": "#/definitions/LineStyling"
        }
      }
    },
    "Label": {
      "kind": "object",
      "entries": {
        "key": {
          "description": "This should be set to `\"label\"` (Determines which component the settings apply to).",
          "type": "string"
        },
        "label": {
          "type": "#/definitions/LabelValueStyling"
        }
      }
    },
    "LabelNameStyling": {
      "kind": "object",
      "entries": {
        "name": {
          "type": "#/definitions/FontStyling"
        }
      }
    },
    "LabelValueStyling": {
      "kind": "object",
      "entries": {
        "value": {
          "description": "Data points labels",
          "type": "#/definitions/FontStyling"
        }
      }
    },
    "Legend": {
      "kind": "object",
      "entries": {
        "key": {
          "description": "This should be set to `\"legend\"` (Determines which component the settings apply to).",
          "type": "string"
        },
        "legend": {
          "type": "#/definitions/LegendStyling"
        }
      }
    },
    "LegendStyling": {
      "kind": "object",
      "entries": {
        "label": {
          "type": "#/definitions/LabelNameStyling"
        },
        "title": {
          "type": "#/definitions/FontStyling"
        }
      }
    },
    "Line": {
      "kind": "object",
      "entries": {
        "key": {
          "description": "This should be set to `\"line\"` (Determines which component the settings apply to).",
          "type": "string"
        },
        "style": {
          "type": "#/definitions/LineStyling"
        }
      }
    },
    "LineStyling": {
      "kind": "object",
      "entries": {
        "dataPointSize": {
          "description": "Set to specify the size of the data point.",
          "defaultValue": 6,
          "type": "number"
        },
        "lineCurve": {
          "defaultValue": "\"linear\"",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'linear'"
            },
            {
              "kind": "literal",
              "value": "'monotone'"
            }
          ]
        },
        "lineThickness": {
          "description": "Set to specify line thickness. Can be set from 1 to 5.",
          "defaultValue": 1,
          "type": "number"
        },
        "lineType": {
          "defaultValue": "\"solid\"",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'solid'"
            },
            {
              "kind": "literal",
              "value": "'dashed'"
            }
          ]
        }
      }
    },
    "MasterVisualizationChart": {
      "description": "Chart component information structure.",
      "kind": "object",
      "entries": {
        "object": {
          "description": "Object containing the information fo the visualization, such as refId in case of master visualization",
          "type": "#/definitions/MasterVisualizationChartObject"
        },
        "style": {
          "description": "Object containing the styles of the chart such as 'size'",
          "type": "#/definitions/MasterVisualizationChartStyle"
        }
      }
    },
    "MasterVisualizationChartObject": {
      "description": "Chart component information structure.",
      "kind": "object",
      "entries": {
        "refId": {
          "description": "Input field containing the qExtendsId of the visualization, where qExtendsId is the unique id of the master visualization",
          "type": "string"
        }
      }
    },
    "MasterVisualizationChartStyle": {
      "description": "Chart component information structure.",
      "kind": "object",
      "entries": {
        "size": {
          "description": "Input type as 'small' or 'medium' or 'large'",
          "type": "string"
        }
      }
    },
    "MeasureForecast": {
      "kind": "object",
      "entries": {
        "confidence": {
          "description": "Only relevant when method is 'SSA' and showConfidence is true. should be between 0 and 1 (exclusive)",
          "defaultValue": 0.95,
          "type": "number"
        },
        "enabled": {
          "defaultValue": false,
          "type": "boolean"
        },
        "lineCurve": {
          "defaultValue": "\"linear\"",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'linear'"
            },
            {
              "kind": "literal",
              "value": "'monotone'"
            }
          ]
        },
        "lineThickness": {
          "description": "Set to specify line thickness. Can be set from 1 to 5.",
          "defaultValue": 1,
          "type": "number"
        },
        "lineType": {
          "defaultValue": "\"dashed\"",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'solid'"
            },
            {
              "kind": "literal",
              "value": "'dashed'"
            }
          ]
        },
        "method": {
          "description": "Forecast method",
          "defaultValue": "'ssa_forecast'",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'ssa_forecast'"
            },
            {
              "kind": "literal",
              "value": "'ols_forecast'"
            }
          ]
        },
        "paletteColor": {
          "type": "#/definitions/paletteColor"
        },
        "showConfidence": {
          "description": "Only used when method is 'SSA'",
          "defaultValue": true,
          "type": "boolean"
        }
      }
    },
    "MeasureProperties": {
      "description": "Extends `NxMeasure`, see Engine API: `NxMeasure`.",
      "extends": [
        {
          "type": "NxMeasure"
        }
      ],
      "kind": "object",
      "entries": {
        "qAttributeExpressions": {
          "kind": "array",
          "items": {
            "type": "#/definitions/AttributeExpressionProperties"
          }
        },
        "qDef": {
          "type": "#/definitions/InlineMeasureDef"
        }
      }
    },
    "MediaLibraryRef": {
      "description": "Media Library Reference structure.",
      "kind": "object",
      "entries": {
        "qStaticContentUrlDef": {
          "description": "Media library structure",
          "type": "object"
        }
      }
    },
    "Modifier": {
      "kind": "alias",
      "items": {
        "kind": "union",
        "items": [
          {
            "type": "#/definitions/Accumulation"
          },
          {
            "type": "#/definitions/Difference"
          },
          {
            "type": "#/definitions/MovingAverage"
          }
        ]
      }
    },
    "MovingAverage": {
      "kind": "object",
      "entries": {
        "fullRange": {
          "description": "Select whether the moving average will happen on the Full range or Custom range.",
          "type": "boolean"
        },
        "nullSuppression": {
          "description": "Choose to have null values calculated by the moving average modifier.",
          "type": "boolean"
        },
        "showExcludedValues": {
          "description": "Shows the excluded values (values not in the current selection) in the moving average.",
          "type": "boolean"
        },
        "type": {
          "description": "This should be set to `\"movingAverage\"`.",
          "type": "string"
        },
        "accumulationDimension:": {
          "description": "Only applicable when there are two dimensions. Selects the dimension on which the moving average will take place. If the moving average is made across multiple dimensions, this will be the first dimension.",
          "optional": true,
          "type": "number"
        },
        "crossAllDimensions": {
          "description": "Only applicable when there are two dimensions. Continues the moving average across both dimensions.",
          "optional": true,
          "type": "boolean"
        },
        "disabled": {
          "optional": true,
          "type": "boolean"
        },
        "steps": {
          "description": "Only applicable when `fullRange` is set to `false`. The number of steps in the dimension which form a moving average. Only zero and positive integers are accepted.\nNote: Sorting order of dimension values (or step order) is important and affects results.",
          "optional": true,
          "type": "number"
        }
      }
    },
    "paletteColor": {
      "description": "Color information structure. Holds the actual color and index in palette.",
      "kind": "object",
      "entries": {
        "color": {
          "description": "Color as hex string (mandatory if index: -1)",
          "type": "string"
        },
        "index": {
          "description": "Index in palette",
          "type": "number"
        }
      }
    },
    "qStaticContentUrlDef": {
      "description": "Media Library structure that will be evaluated by the engine.",
      "kind": "object",
      "entries": {
        "qUrl": {
          "description": "Value of media library image",
          "type": "string"
        }
      }
    },
    "refLine": {
      "kind": "object",
      "entries": {
        "label": {
          "description": "Reference line label.",
          "type": "string"
        },
        "paletteColor": {
          "type": "#/definitions/paletteColor"
        },
        "refLineExpr": {
          "kind": "object",
          "entries": {
            "value": {
              "kind": "union",
              "items": [
                {
                  "type": "number"
                },
                {
                  "type": "ValueExpression"
                }
              ]
            },
            "label": {
              "optional": true,
              "kind": "union",
              "items": [
                {
                  "type": "string"
                },
                {
                  "type": "StringExpression"
                }
              ]
            }
          }
        },
        "show": {
          "description": "Set to true to display this reference line.",
          "defaultValue": true,
          "kind": "union",
          "items": [
            {
              "type": "boolean"
            },
            {
              "type": "ValueExpression"
            }
          ]
        },
        "coloredBackground": {
          "description": "Set to true to fill the label and/or value of this reference line with this color",
          "optional": true,
          "defaultValue": false,
          "type": "boolean"
        },
        "showLabel": {
          "description": "Set to true to show the label of this reference line.",
          "optional": true,
          "defaultValue": true,
          "type": "boolean"
        },
        "showValue": {
          "description": "Set to true to show the value of this reference line.",
          "optional": true,
          "defaultValue": true,
          "type": "boolean"
        },
        "style": {
          "description": "Styling settings for reference line",
          "optional": true,
          "type": "#/definitions/refLineStyle"
        }
      }
    },
    "refLineStyle": {
      "description": "Styling settings for reference line",
      "kind": "object",
      "entries": {
        "lineThickness": {
          "description": "Set the thickness for this reference line.",
          "optional": true,
          "defaultValue": 2,
          "type": "number"
        },
        "lineType": {
          "description": "Set the dash type for this reference line.",
          "optional": true,
          "defaultValue": "''",
          "type": "string"
        }
      }
    }
  }
}