{
  "scriptappy": "1.1.3",
  "info": {
    "name": "@nebula.js/sn-gauge:properties",
    "description": "Gauge generic object definition",
    "version": "0.9.0",
    "license": "MIT",
    "stability": "stable",
    "x-qlik-visibility": "public"
  },
  "entries": {
    "properties": {
      "extends": [
        {
          "type": "GenericObjectProperties"
        }
      ],
      "entries": {
        "autoOrientation": {
          "description": "Auto orientation, only applicable to bar gauge.\nIf true, the orientation of the bar gauge is adaptive to the aspect ratio of the chart.",
          "defaultValue": true,
          "type": "boolean"
        },
        "color": {
          "description": "Color settings.",
          "entries": {
            "useBaseColors": {
              "description": "If should use colors encoded in master items",
              "defaultValue": "measure",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'measure'"
                },
                {
                  "kind": "literal",
                  "value": "'off'"
                }
              ]
            }
          },
          "kind": "object"
        },
        "components": {
          "description": "Styling of chart components.",
          "kind": "array",
          "items": {
            "type": "#/definitions/Component"
          }
        },
        "disableNavMenu": {
          "defaultValue": false,
          "type": "boolean"
        },
        "footnote": {
          "description": "Footnote of the visualization.",
          "optional": true,
          "defaultValue": "",
          "kind": "union",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "#/definitions/StringExpression"
            }
          ]
        },
        "gaugetype": {
          "description": "Gauge type",
          "defaultValue": "radial",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'radial'"
            },
            {
              "kind": "literal",
              "value": "'bar'"
            }
          ]
        },
        "measureAxis": {
          "description": "Measure axis configuration.",
          "entries": {
            "max": {
              "description": "Maximum value for the measure axis.",
              "defaultValue": 100,
              "kind": "union",
              "items": [
                {
                  "type": "number"
                },
                {
                  "type": "#/definitions/ValueExpression"
                }
              ]
            },
            "min": {
              "description": "Minimum value for the measure axis.",
              "defaultValue": 0,
              "kind": "union",
              "items": [
                {
                  "type": "number"
                },
                {
                  "type": "#/definitions/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'"
                }
              ]
            },
            "spacing": {
              "description": "Axis scale",
              "defaultValue": 1,
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": 1
                },
                {
                  "kind": "literal",
                  "value": 0.5
                },
                {
                  "kind": "literal",
                  "value": 2
                }
              ]
            }
          },
          "kind": "object"
        },
        "orientation": {
          "description": "Orientation of the bar gauge. Only applicable when autoOrientation is false.",
          "defaultValue": "horizontal",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'horizontal'"
            },
            {
              "kind": "literal",
              "value": "'vertical'"
            }
          ]
        },
        "paletteProgressColor": {
          "description": "Define the progress color.\nApplicable when useSegment is 'off' and useBaseColors is also 'off'",
          "type": "#/definitions/PaletteColor"
        },
        "qHyperCubeDef": {
          "description": "Hypercube definition for the visualization.",
          "entries": {
            "qInitialDataFetch": {
              "description": "Initial data fetch configuration.",
              "kind": "array",
              "items": {
                "kind": "object",
                "entries": {
                  "qWidth": {
                    "type": "number"
                  },
                  "qHeight": {
                    "type": "number"
                  }
                }
              }
            },
            "qMeasures": {
              "description": "Array of measures for the hypercube.",
              "type": "Array"
            },
            "qSuppressMissing": {
              "description": "Whether to suppress missing values.",
              "defaultValue": true,
              "type": "boolean"
            },
            "qSuppressZero": {
              "description": "Whether to suppress zero values.",
              "defaultValue": false,
              "type": "boolean"
            }
          },
          "kind": "object"
        },
        "refLine": {
          "description": "Reference lines settings",
          "entries": {
            "refLines": {
              "description": "Array of measure based reference line definitions",
              "kind": "array",
              "items": {
                "type": "#/definitions/RefLine"
              }
            }
          },
          "kind": "object"
        },
        "segmentInfo": {
          "description": "Segment information for the gauge.",
          "entries": {
            "limits": {
              "description": "Array of segment limits.",
              "kind": "array",
              "items": {
                "type": "#/definitions/Limits"
              }
            },
            "paletteColors": {
              "description": "Array of segment colors.",
              "kind": "array",
              "items": {
                "type": "#/definitions/PaletteColor"
              }
            }
          },
          "kind": "object"
        },
        "showDetails": {
          "description": "Show visualization details toggle",
          "defaultValue": true,
          "type": "boolean"
        },
        "showTitles": {
          "description": "Whether to show titles for the visualization.",
          "defaultValue": true,
          "type": "boolean"
        },
        "subtitle": {
          "description": "Subtitle of the visualization.",
          "optional": true,
          "defaultValue": "",
          "kind": "union",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "#/definitions/StringExpression"
            }
          ]
        },
        "title": {
          "description": "Title of the visualization.",
          "optional": true,
          "defaultValue": "",
          "kind": "union",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "#/definitions/StringExpression"
            }
          ]
        },
        "useSegments": {
          "description": "Decide if segments coloring or progress coloring is used.\nIf true, the segments are colored according to the segmentInfo.paletteColors.",
          "defaultValue": false,
          "type": "boolean"
        },
        "version": {
          "description": "Current version of this generic object definition",
          "type": "string"
        }
      },
      "kind": "object"
    }
  },
  "definitions": {
    "Axis": {
      "kind": "object",
      "entries": {
        "axis": {
          "type": "#/definitions/AxisStyling"
        },
        "key": {
          "description": "This should be set to `\"axis\"`",
          "type": "string"
        }
      }
    },
    "AxisStyling": {
      "kind": "object",
      "entries": {
        "label": {
          "type": "#/definitions/LabelNameStyling"
        },
        "title": {
          "type": "#/definitions/FontStyling"
        }
      }
    },
    "Component": {
      "kind": "alias",
      "items": {
        "kind": "union",
        "items": [
          {
            "type": "#/definitions/Label"
          },
          {
            "type": "#/definitions/Axis"
          }
        ]
      }
    },
    "Expr": {
      "description": "Expression",
      "kind": "object",
      "entries": {
        "qExpr": {
          "description": "expression as a string, e.g. '=Sum([Actual Amount])', note that the equal sign is optional",
          "type": "string"
        }
      }
    },
    "FontStyling": {
      "kind": "object",
      "entries": {
        "color": {
          "type": "#/definitions/PaletteColor"
        },
        "fontFamily": {
          "type": "string"
        }
      }
    },
    "Label": {
      "kind": "object",
      "entries": {
        "key": {
          "description": "This should be set to `\"value\"`",
          "type": "string"
        },
        "label": {
          "type": "#/definitions/LabelValueStyling"
        }
      }
    },
    "LabelNameStyling": {
      "kind": "object",
      "entries": {
        "name": {
          "type": "#/definitions/FontStyling"
        }
      }
    },
    "LabelValueStyling": {
      "kind": "object",
      "entries": {
        "value": {
          "description": "Gauge value label",
          "type": "#/definitions/FontStyling"
        }
      }
    },
    "Limits": {
      "description": "The limits between segments colors.",
      "kind": "object",
      "entries": {
        "gradient": {
          "description": "Gradient color (i.e. gradually changing color) or solid color",
          "type": "boolean"
        },
        "value": {
          "description": "Value of the limit",
          "kind": "union",
          "items": [
            {
              "type": "number"
            },
            {
              "type": "#/definitions/ValueExpression"
            }
          ]
        }
      }
    },
    "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"
        }
      }
    },
    "RefLine": {
      "kind": "object",
      "entries": {
        "label": {
          "description": "Reference line label.",
          "kind": "union",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "#/definitions/StringExpression"
            }
          ]
        },
        "paletteColor": {
          "description": "Color of the reference line and label.",
          "type": "#/definitions/PaletteColor"
        },
        "refLineExpr": {
          "kind": "object",
          "entries": {
            "value": {
              "kind": "union",
              "items": [
                {
                  "type": "number"
                },
                {
                  "type": "#/definitions/ValueExpression"
                }
              ]
            },
            "label": {
              "optional": true,
              "kind": "union",
              "items": [
                {
                  "type": "string"
                },
                {
                  "type": "#/definitions/StringExpression"
                }
              ]
            }
          }
        },
        "show": {
          "description": "Set to true to display this reference line.",
          "defaultValue": true,
          "kind": "union",
          "items": [
            {
              "type": "boolean"
            },
            {
              "type": "#/definitions/ValueExpression"
            }
          ]
        },
        "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"
        }
      }
    },
    "StringExpression": {
      "description": "String expression",
      "kind": "object",
      "entries": {
        "qStringExpression": {
          "type": "#/definitions/Expr"
        }
      }
    },
    "ValueExpression": {
      "description": "Value expression",
      "kind": "object",
      "entries": {
        "qValueExpression": {
          "type": "#/definitions/Expr"
        }
      }
    }
  }
}