{
  "name": "MeasureSingleSelectFieldPro",
  "label": "Measure Single Select Field",
  "description": "Dropdown for selecting a single measure from a list. Pairs with a measure variable; emits onChange.",
  "category": "Dropdowns - dimensions and measures",
  "defaultWidth": 300,
  "defaultHeight": 120,
  "inputs": [
    {
      "name": "dataset",
      "type": "dataset",
      "label": "Dataset",
      "required": true,
      "category": "Component Data"
    },
    {
      "name": "title",
      "type": "string",
      "label": "Title",
      "category": "Component Header"
    },
    {
      "name": "description",
      "type": "string",
      "label": "Description",
      "category": "Component Header"
    },
    {
      "name": "tooltip",
      "type": "string",
      "label": "Tooltip",
      "category": "Component Header"
    },
    {
      "name": "placeholder",
      "type": "string",
      "label": "Placeholder",
      "category": "Component Settings",
      "defaultValue": "Select value..."
    },
    {
      "name": "measureOptions",
      "type": "measure",
      "label": "Measure options",
      "array": true,
      "config": {
        "dataset": "dataset"
      },
      "required": true,
      "category": "Component Data",
      "inputs": [
        {
          "name": "prefix",
          "type": "string",
          "label": "Prefix"
        },
        {
          "name": "suffix",
          "type": "string",
          "label": "Suffix"
        },
        {
          "name": "displayName",
          "type": "string",
          "label": "Display name"
        },
        {
          "name": "maxCharacters",
          "type": "number",
          "label": "Maximum characters",
          "supportedTypes": [
            "string"
          ]
        },
        {
          "name": "decimalPlaces",
          "type": "number",
          "label": "Decimal places",
          "supportedTypes": [
            "number"
          ]
        },
        {
          "name": "currency",
          "type": "string",
          "label": "Currency",
          "description": "e.g. EUR",
          "supportedTypes": [
            "number"
          ]
        },
        {
          "name": "abbreviateLargeNumber",
          "type": "boolean",
          "label": "Abbreviate large number",
          "supportedTypes": [
            "number"
          ]
        }
      ]
    },
    {
      "name": "selectedMeasure",
      "type": "measure",
      "label": "Selected measure",
      "config": {
        "dataset": "dataset"
      },
      "required": false,
      "category": "Pre-configured variables",
      "inputs": [
        {
          "name": "prefix",
          "type": "string",
          "label": "Prefix"
        },
        {
          "name": "suffix",
          "type": "string",
          "label": "Suffix"
        },
        {
          "name": "displayName",
          "type": "string",
          "label": "Display name"
        },
        {
          "name": "maxCharacters",
          "type": "number",
          "label": "Maximum characters",
          "supportedTypes": [
            "string"
          ]
        },
        {
          "name": "decimalPlaces",
          "type": "number",
          "label": "Decimal places",
          "supportedTypes": [
            "number"
          ]
        },
        {
          "name": "currency",
          "type": "string",
          "label": "Currency",
          "description": "e.g. EUR",
          "supportedTypes": [
            "number"
          ]
        },
        {
          "name": "abbreviateLargeNumber",
          "type": "boolean",
          "label": "Abbreviate large number",
          "supportedTypes": [
            "number"
          ]
        }
      ]
    },
    {
      "type": "boolean",
      "name": "clearable",
      "label": "Can be cleared",
      "defaultValue": false,
      "category": "Component Settings"
    }
  ],
  "events": [
    {
      "name": "onChange",
      "label": "Selected measure updated",
      "properties": [
        {
          "name": "value",
          "label": "Selected measure",
          "type": "measure"
        }
      ]
    }
  ],
  "variables": [
    {
      "name": "measure single-select value",
      "type": "measure",
      "defaultValue": {
        "operation": "NO_FILTER",
        "value": null,
        "__embeddableVariableMeta": true
      },
      "inputs": [
        "selectedMeasure"
      ],
      "events": [
        {
          "name": "onChange",
          "property": "value"
        }
      ]
    }
  ]
}