{
  "scriptappy": "1.1.0",
  "info": {
    "name": "@nebula.js/sn-histogram:properties",
    "description": "Histogram generic object definition",
    "version": "1.0.6",
    "license": "MIT",
    "stability": "experimental",
    "x-qlik-visibility": "private"
  },
  "entries": {
    "properties": {
      "kind": "namespace",
      "entries": {
        "bins": {
          "description": "Bin settings.",
          "entries": {
            "auto": {
              "description": "Auto mode generates a nice looking histogram without special parameters.",
              "type": "boolean"
            },
            "binCount": {
              "description": "Number of bars to be displayed, used when binMode is set to 'maxCount'.",
              "defaultValue": "",
              "type": "number"
            },
            "binMode": {
              "description": "MaxCount - Able to adjust the maximum number of bars to be displayed. size - Able to adjust size of bars and offset from x-axis.",
              "type": "string"
            },
            "binSize": {
              "description": "The width of the bars, used when binMode is set to 'size'.",
              "type": "number"
            },
            "countDistinct": {
              "description": "Shows unique values.",
              "type": "boolean"
            },
            "offset": {
              "description": "Used to know where to start displaying bars on x-axis.",
              "type": "number"
            }
          },
          "kind": "object"
        },
        "color": {
          "description": "Color settings.",
          "entries": {
            "bar": {
              "entries": {
                "paletteColor": {
                  "description": "The paletteColor object is used to define the bar color.",
                  "defaultValue": "{ index: 6 }",
                  "type": "#/definitions/paletteColor"
                }
              },
              "kind": "object"
            }
          },
          "kind": "object"
        },
        "dataPoint": {
          "description": "Data points",
          "entries": {
            "showLabels": {
              "description": "Show labels on bars",
              "defaultValue": false,
              "type": "boolean"
            }
          },
          "kind": "object"
        },
        "dimensionAxis": {
          "description": "Dimension axis settings.",
          "entries": {
            "dock": {
              "description": "Axis docking position",
              "defaultValue": "near",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'near'"
                },
                {
                  "kind": "literal",
                  "value": "'far'"
                }
              ]
            },
            "label": {
              "description": "Label orientation",
              "value": "'auto'",
              "kind": "literal"
            },
            "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"
            }
          ]
        },
        "gridlines": {
          "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": 2
                },
                {
                  "kind": "literal",
                  "value": 3
                }
              ]
            }
          },
          "kind": "object"
        },
        "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'"
                }
              ]
            },
            "label": {
              "description": "Label to show on the measure axis, if left empty it defaults to 'Frequency'",
              "optional": true,
              "defaultValue": "",
              "kind": "union",
              "items": [
                {
                  "type": "string"
                },
                {
                  "type": "StringExpression"
                }
              ]
            },
            "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"
        },
        "qHyperCubeDef": {
          "description": "Extends `HyperCubeDef`, see Engine API: `HyperCubeDef`.",
          "extends": [
            {
              "type": "HyperCubeDef"
            }
          ],
          "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"
        },
        "showTitles": {
          "description": "Show title for the visualization.",
          "optional": true,
          "defaultValue": true,
          "type": "boolean"
        },
        "sorting": {
          "description": "Wrapper for sorting properties which will be set on the outer dimension.",
          "entries": {
            "autoSort": {
              "description": "Sort automatically",
              "value": "true",
              "kind": "literal"
            }
          },
          "kind": "object"
        },
        "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"
            }
          ]
        },
        "version": {
          "description": "Current version of this generic object definition.",
          "type": "string"
        }
      }
    }
  },
  "definitions": {
    "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.",
          "type": "string"
        },
        "paletteColor": {
          "type": "#/definitions/paletteColor"
        },
        "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"
        }
      }
    }
  }
}