{
  "scriptappy": "1.1.3",
  "info": {
    "name": "@nebula.js/sn-bullet-chart:properties",
    "description": "Bullet chart generic object definition",
    "version": "2.2.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.",
          "entries": {
            "auto": {
              "description": "Set to use automatic coloring.\nWhen `\"auto\": true`, color settings are based on the visualization used.",
              "defaultValue": true,
              "type": "boolean"
            },
            "bar": {
              "description": "The paletteColor object is used to define the color of bar.",
              "defaultValue": "{ index: 6 }",
              "type": "#/definitions/paletteColor"
            },
            "mode": {
              "description": "`primary`: a single color (by default blue) for all bar items and (by default black) for all target items in the bullet chart.",
              "value": "primary",
              "kind": "literal"
            },
            "target": {
              "description": "The target object is used to define the color of target.",
              "defaultValue": "{ index: -1, color: '#000000' }",
              "type": "#/definitions/paletteColor"
            }
          },
          "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",
              "defaultValue": "auto",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'auto'"
                },
                {
                  "kind": "literal",
                  "value": "'horizontal'"
                },
                {
                  "kind": "literal",
                  "value": "'tilted'"
                }
              ]
            },
            "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. Used only when using commom axis.",
          "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"
        },
        "measureAxis": {
          "description": "Measure axis settings.",
          "entries": {
            "commonAxis": {
              "description": "When set to true, use common axis.",
              "defaultValue": false,
              "type": "boolean"
            },
            "commonRange": {
              "description": "When set to true, use common range.",
              "defaultValue": false,
              "type": "boolean"
            },
            "dock": {
              "description": "Axis docking position",
              "defaultValue": "near",
              "kind": "union",
              "items": [
                {
                  "kind": "literal",
                  "value": "'near'"
                },
                {
                  "kind": "literal",
                  "value": "'far'"
                }
              ]
            },
            "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"
        },
        "orientation": {
          "description": "Orientation setting.\nIf vertical, the dimension axis can only be docked on bottom or top and measure axis on left or right.",
          "defaultValue": "vertical",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'vertical'"
            },
            {
              "kind": "literal",
              "value": "'horizontal'"
            }
          ]
        },
        "qHyperCubeDef": {
          "description": "Extends `HyperCubeDef`, see Engine API: `HyperCubeDef`.",
          "extends": [
            {
              "type": "HyperCubeDef"
            }
          ],
          "kind": "object",
          "entries": {
            "qDimensions": {
              "kind": "array",
              "items": {
                "type": "#/definitions/DimensionProperties"
              }
            },
            "qMeasures": {
              "kind": "array",
              "items": {
                "type": "#/definitions/MeasureProperties"
              }
            },
            "qSuppressMissing": {
              "defaultValue": true,
              "type": "boolean"
            },
            "qSuppressZero": {
              "defaultValue": false,
              "type": "boolean"
            }
          }
        },
        "scrollbar": {
          "description": "Sets the style of the scroll bar",
          "defaultValue": "bar",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "'bar'"
            },
            {
              "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"
        },
        "showDetails": {
          "description": "Show visualization details toggle",
          "optional": true,
          "defaultValue": true,
          "type": "boolean"
        },
        "showTitles": {
          "description": "Show title for the visualization",
          "optional": true,
          "defaultValue": true,
          "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": {
    "AttributeExpressionProperties": {
      "kind": "alias",
      "items": {
        "kind": "union",
        "items": [
          {
            "type": "#/definitions/AttributeExpressions"
          },
          {
            "type": "#/definitions/CustomTooltipAttributes"
          }
        ]
      }
    },
    "AttributeExpressions": {
      "description": "Extends `NxAttrExprDef`, see Engine API: `NxAttrExprDef`.",
      "extends": [
        {
          "type": "NxAttrExprDef"
        }
      ],
      "kind": "object",
      "entries": {
        "id": {
          "description": "If set to `\"bullet-target\"` the expression will be interpreted as the target for the specific measure. If set to `\"bullet-segment\"` the expression will be interpreted as a segment limit.",
          "type": "string"
        }
      },
      "examples": [
        "```json\n\"qAttributeExpressions\": [{\n  \"qExpression\": \"Avg(Sales)\",\n  \"qLibraryId: \"\",\n  \"qAttribute: true,\n  \"id\": \"bullet-target\"\n},\n{\n  \"qExpression: \"Avg(Sales)/2\",\n  \"qLibraryId: \"\",\n  \"qAttribute: true,\n  \"id: \"bullet-segment\"\n}]\n```"
      ]
    },
    "conditionalColoringProperties": {
      "kind": "object",
      "entries": {
        "segments": {
          "type": "#/definitions/segmentsProperties"
        }
      },
      "examples": [
        "```json\n\"segments\": {\n  \"limits\": [\n    {\n      \"gradient\": false\n    }\n  ],\n  \"paletteColors\": [\n    {\n      \"color\": \"#bfbfbf\",\n      \"index\": -1\n    },\n    {\n      \"color\": \"#a5a5a5\",\n      \"index\": -1\n    }\n  ]\n}\n```"
      ]
    },
    "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```"
      ]
    },
    "DimensionProperties": {
      "description": "Extends `NxDimension`, see Engine API: `NxDimension`.",
      "extends": [
        {
          "type": "NxDimension"
        }
      ],
      "kind": "object",
      "entries": {
        "qDef": {
          "type": "#/definitions/InlineDimensionDef"
        }
      }
    },
    "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": {
        "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": {
        "autoMinMax": {
          "description": "Default false. Set to true to custmize the ranges of measure.",
          "type": "boolean"
        },
        "conditionalColoring": {
          "description": "Information of how the segments",
          "type": "#/definitions/conditionalColoringProperties"
        },
        "isCustomFormatted": {
          "description": "Set to true to toggle off the default client formatting.",
          "type": "boolean"
        },
        "max": {
          "description": "Set the max value of the range.",
          "kind": "union",
          "items": [
            {
              "optional": true,
              "type": "number"
            },
            {
              "optional": true,
              "type": "ValueExpression"
            }
          ]
        },
        "min": {
          "description": "Set the min value of the range.",
          "type": "string"
        },
        "minMax": {
          "description": "Set custom max/min. Default \"min\". Supported type are: 'min'|'max'|'minMax'.",
          "type": "string"
        },
        "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"
            }
          ]
        },
        "useSegments": {
          "description": "Default false. Set to true to customize segment colors.",
          "type": "boolean"
        },
        "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"
        }
      }
    },
    "limitsProperties": {
      "kind": "object",
      "entries": {
        "gradient": {
          "description": "Set gradient of the color.",
          "optional": true,
          "type": "boolean"
        }
      }
    },
    "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"
        }
      }
    },
    "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"
        }
      }
    },
    "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"
        }
      }
    },
    "paletteColorsProperties": {
      "kind": "object",
      "entries": {
        "paletteColor": {
          "type": "#/definitions/paletteColor"
        }
      }
    },
    "properties.dataPoint.showLabels": {
      "description": "Show labels on data points",
      "defaultValue": false,
      "type": "boolean"
    },
    "properties.dataPoint.showSegmentLabels": {
      "description": "Show segment labels",
      "defaultValue": false,
      "type": "boolean"
    },
    "properties.dataPoint.showTotalLabels": {
      "description": "Show total labels",
      "defaultValue": true,
      "type": "boolean"
    },
    "qStaticContentUrlDef": {
      "description": "Media Library structure that will be evaluated by the engine.",
      "kind": "object",
      "entries": {
        "qUrl": {
          "description": "Value of media library image",
          "type": "string"
        }
      }
    },
    "segmentsProperties": {
      "kind": "object",
      "entries": {
        "limits": {
          "kind": "array",
          "items": {
            "type": "#/definitions/limitsProperties"
          }
        },
        "paletteColors": {
          "kind": "array",
          "items": {
            "type": "#/definitions/paletteColorsProperties"
          }
        }
      }
    }
  }
}