{
  "scriptappy": "1.1.3",
  "info": {
    "name": "@nebula.js/sn-tabbed-container:properties",
    "description": "Tabbed container generic object definition",
    "version": "2.13.0",
    "license": "MIT",
    "stability": "stable",
    "x-qlik-visibility": "public"
  },
  "entries": {
    "properties": {
      "extends": [
        {
          "type": "GenericObjectProperties"
        }
      ],
      "kind": "object",
      "entries": {
        "showTitles": {
          "description": "Show titles of the tabbed-container",
          "optional": true,
          "defaultValue": true,
          "type": "boolean"
        },
        "title": {
          "description": "Tabbed-container title",
          "optional": true,
          "defaultValue": "",
          "kind": "union",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "EngineAPI.StringExpression"
            }
          ]
        },
        "subtitle": {
          "description": "Tabbed-container subtitle",
          "optional": true,
          "defaultValue": "",
          "kind": "union",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "EngineAPI.StringExpression"
            }
          ]
        },
        "footnote": {
          "description": "Tabbed-container footnote",
          "optional": true,
          "defaultValue": "",
          "kind": "union",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "EngineAPI.StringExpression"
            }
          ]
        },
        "disableNavMenu": {
          "description": "Allow the hover menu to appear.",
          "optional": true,
          "defaultValue": true,
          "type": "boolean"
        },
        "objects": {
          "description": "Array with child objects",
          "kind": "array",
          "items": {
            "type": "#/definitions/ContainerChildProperties"
          }
        },
        "showTabs": {
          "description": "Show the tabs of the tabbed-container",
          "defaultValue": true,
          "type": "boolean"
        },
        "useScrollButton": {
          "description": "Show the navigation-arrows next to the tabs of the tabbed-container",
          "defaultValue": true,
          "type": "boolean"
        },
        "useDropdown": {
          "description": "Show the dropdown menu for the tabs of the tabbed-container",
          "defaultValue": false,
          "type": "boolean"
        },
        "showIcons": {
          "description": "Show the chart icons in each tab.",
          "optional": true,
          "defaultValue": false,
          "type": "boolean"
        },
        "components": {
          "description": "Styling components.",
          "optional": true,
          "kind": "union",
          "items": [
            {
              "kind": "array",
              "items": {
                "type": "#/definitions/GeneralStylingComponent"
              }
            },
            {
              "kind": "array",
              "items": {
                "type": "#/definitions/TabsStylingComponent"
              }
            }
          ]
        },
        "defaultTabId": {
          "description": "Default tab childRefId to be selected when a new engine session starts.",
          "optional": true,
          "defaultValue": "",
          "type": "string"
        },
        "orientation": {
          "description": "Sets the orientation of the tabs. Top for horizontal and left for vertical.",
          "defaultValue": "top",
          "kind": "union",
          "items": [
            {
              "kind": "literal",
              "value": "\"top\""
            },
            {
              "kind": "literal",
              "value": "\"left\""
            }
          ]
        },
        "fontsUsed": {
          "description": "A list of font families used in the tabs.",
          "optional": true,
          "nullable": true,
          "kind": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  },
  "definitions": {
    "GeneralStylingComponent": {
      "kind": "object",
      "entries": {
        "key": {
          "description": "This should be set to `\"general\"` (Determines which component the settings apply to).",
          "type": "string"
        },
        "title": {
          "type": "#/definitions/TitleStyling"
        },
        "bgImage": {
          "type": "#/definitions/BackgroundImageStyling"
        },
        "bgColor": {
          "type": "#/definitions/ColorStyling"
        },
        "borderColor": {
          "type": "#/definitions/paletteColor"
        },
        "borderWidth": {
          "type": "string"
        },
        "borderRadius": {
          "type": "string"
        },
        "shadow": {
          "type": "#/definitions/ShadowStyling"
        }
      }
    },
    "TitleStyling": {
      "kind": "object",
      "entries": {
        "footer": {
          "type": "#/definitions/FontStyling"
        },
        "main": {
          "type": "#/definitions/FontStyling"
        },
        "subTitle": {
          "type": "#/definitions/FontStyling"
        }
      }
    },
    "BackgroundImageStyling": {
      "kind": "object",
      "entries": {
        "mode": {
          "description": "This should be set to `\"media\"`.",
          "type": "string"
        },
        "sizing": {
          "description": "This can be `\"originalSize\"`, `\"alwaysFit\"`, `\"fitWidth\"`, `\"fitHeight\"`, `\"stretchFit\"` or `\"alwaysFill\"`.",
          "type": "string"
        },
        "position": {
          "description": "This can be `\"top-left\"`, `\"top-center\"`, `\"top-right\"`, `\"center-left\"`, `\"center-center\"`, `\"center-right\"`, `\"bottom-left\"`, `\"bottom-center\"` or `\"bottom-right\"`.",
          "type": "string"
        },
        "mediaUrl": {
          "type": "#/definitions/MediaLibraryRef"
        }
      }
    },
    "FontStyling": {
      "kind": "object",
      "entries": {
        "color": {
          "type": "#/definitions/paletteColor"
        },
        "fontFamily": {
          "type": "string"
        },
        "fontSize": {
          "type": "string"
        },
        "fontStyle": {
          "kind": "array",
          "items": {
            "type": "#/definitions/FontStyle"
          }
        }
      }
    },
    "ShadowStyling": {
      "kind": "object",
      "entries": {
        "boxShadowColor": {
          "type": "#/definitions/paletteColor"
        },
        "boxShadow": {
          "description": "This can have the same values as the box-shadow css property, for example it can be `\"10px 5px 5px black;\"` that described `\"<length> <length> <length> <color>\"` .",
          "type": "#/definitions/paletteColor"
        }
      }
    },
    "TabsStylingComponent": {
      "kind": "object",
      "entries": {
        "key": {
          "description": "This should be set to `\"tabs\"` (Determines which component the settings apply to).",
          "type": "string"
        },
        "icon": {
          "type": "#/definitions/TabsIconStyling"
        },
        "label": {
          "type": "#/definitions/TabsLabelStyling"
        },
        "width": {
          "type": "#/definitions/TabWidthStyling"
        },
        "indicator": {
          "type": "#/definitions/TabsIndicatorStyling"
        },
        "background": {
          "type": "#/definitions/TabsBackgroundStyling"
        }
      }
    },
    "TabsIconStyling": {
      "kind": "object",
      "entries": {
        "position": {
          "description": "This can be `\"start\"`, `\"end\"`, `\"top\"` or `\"bottom\"`.",
          "type": "string"
        }
      }
    },
    "TabsLabelStyling": {
      "kind": "object",
      "entries": {
        "color": {
          "type": "#/definitions/paletteColor"
        },
        "fontFamily": {
          "type": "string"
        },
        "fontSize": {
          "type": "string"
        },
        "alignment": {
          "description": "This can be `\"center\"`, `\"left\"` or `\"right\"`.",
          "type": "string"
        },
        "show": {
          "type": "boolean"
        }
      }
    },
    "TabsIndicatorStyling": {
      "kind": "object",
      "entries": {
        "selected": {
          "type": "#/definitions/ColorStyling"
        },
        "hover": {
          "type": "#/definitions/ColorStyling"
        }
      }
    },
    "TabsBackgroundStyling": {
      "kind": "object",
      "entries": {
        "selected": {
          "type": "#/definitions/ColorStyling"
        },
        "unselected": {
          "type": "#/definitions/ColorStyling"
        },
        "hover": {
          "type": "#/definitions/ColorStyling"
        }
      }
    },
    "MediaLibraryRef": {
      "description": "Media Library Reference structure.",
      "kind": "object",
      "entries": {
        "qStaticContentUrlDef": {
          "description": "Media library structure.",
          "type": "object"
        }
      }
    },
    "qStaticContentUrlDef": {
      "description": "Media Library structure that will be evaluated by the engine.",
      "kind": "object",
      "entries": {
        "qUrl": {
          "description": "Value of media library image.",
          "type": "string"
        }
      }
    },
    "ContainerChildProperties": {
      "description": "Contains information about a child object.",
      "kind": "alias",
      "items": {
        "kind": "object",
        "entries": {
          "childRefId": {
            "description": "Internal reference id of container child.",
            "type": "string"
          },
          "label": {
            "description": "Label of the child object, shows up in property panel and tab.",
            "type": "string"
          },
          "condition": {
            "description": "Show Tab condition.",
            "type": "ValueExpression"
          },
          "components": {
            "description": "Tab Styling.",
            "kind": "array",
            "items": {
              "type": "#/definitions/TabStylingComponent"
            }
          }
        }
      }
    },
    "TabStylingComponent": {
      "kind": "object",
      "entries": {
        "key": {
          "description": "This should be set to `\"tab\"` (Determines which component the settings apply to).",
          "type": "string"
        },
        "icon": {
          "type": "#/definitions/TabIconStyling"
        },
        "label": {
          "type": "#/definitions/TabLabelStyling"
        },
        "width": {
          "type": "#/definitions/TabWidthStyling"
        },
        "background": {
          "type": "#/definitions/ColorStyling"
        }
      }
    },
    "TabIconStyling": {
      "kind": "object",
      "entries": {
        "show": {
          "type": "boolean"
        }
      }
    },
    "TabLabelStyling": {
      "kind": "object",
      "entries": {
        "color": {
          "type": "#/definitions/paletteColor"
        },
        "fontFamily": {
          "type": "string"
        },
        "fontSize": {
          "type": "string"
        },
        "show": {
          "type": "boolean"
        }
      }
    },
    "TabWidthStyling": {
      "kind": "object",
      "entries": {
        "value": {
          "description": "This has two values [<min>, <max>].",
          "kind": "array",
          "items": {
            "type": "number"
          }
        },
        "unit": {
          "description": "This can be `\"px\"` or `\"%\"`.",
          "type": "string"
        }
      }
    },
    "ColorStyling": {
      "kind": "object",
      "entries": {
        "useColorExpression": {
          "type": "boolean"
        },
        "color": {
          "type": "#/definitions/paletteColor"
        },
        "colorExpression": {
          "type": "EngineAPI.StringExpression"
        }
      }
    },
    "paletteColor": {
      "description": "Color information structure. Holds the actual color, index and alpha in palette.",
      "kind": "object",
      "entries": {
        "color": {
          "description": "Color as hex string (mandatory if index: -1).",
          "type": "string"
        },
        "index": {
          "description": "Index in palette.",
          "type": "number"
        },
        "alpha": {
          "type": "number"
        }
      }
    },
    "FontStyle": {
      "description": "This can be `\"italic\"`, `\"bold\"` or `\"underline\"`.",
      "kind": "alias",
      "items": {
        "type": "string"
      }
    }
  }
}