{
    "$schema": "../../../Schema/ControlDescription.Schema.json",
    "apiVersion": 1,
    "name": "TcHmiPopup",
    "namespace": "TcHmi.Controls.System",
    "displayName": "Popup",
    "version": {
        "full": "1.12.762.46",
        "major": 1,
        "minor": 12,
        "build": 762,
        "revision": 46
    },
    "visible": true,
    "themeable": "Advanced",
    "base": "TcHmi.Controls.System.TcHmiControl",
    "description": "",
    "properties": {
        "containerControl": false,
        "geometry": {
            "width": 500,
            "height": 500
        }
    },
    "icons": [
        {
            "name": "Icons/16x16.png",
            "width": 16,
            "height": 16
        }
    ],
    "template": "Template.html",
    "dependencyFiles": [
        {
            "name": "Style.css",
            "type": "Stylesheet",
            "description": ""
        },
        {
            "name": "TcHmiPopup.js",
            "type": "JavaScript",
            "description": ""
        }
    ],
    "themes": {},
    "attributes": [
        {
            "name": "data-tchmi-target-file",
            "propertyName": "TargetFile",
            "propertySetterName": "setTargetFile",
            "propertyGetterName": "getTargetFile",
            "displayName": "TargetFile",
            "visible": true,
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiPopup.TargetFile",
            "category": "Common",
            "description": "An object ({ path: string; attributes?: Dictionary<any>; }) with a file path and an attributes dictionary for the target file host control (when path points to a *.usercontrol file).",
            "readOnly": false,
            "bindable": true,
            "themeable": "Advanced",
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-target-file-host-preload",
            "propertyName": "TargetFileHostPreload",
            "propertySetterName": "setTargetFileHostPreload",
            "propertyGetterName": "getTargetFileHostPreload",
            "displayName": "TargetFileHostPreload",
            "visible": true,
            "displayPriority": 12,
            "type": "tchmi:general#/definitions/Boolean",
            "category": "Common",
            "description": "Defines whether the target file host is preloaded when the control is initialized or loaded when the popup is opened.",
            "readOnly": false,
            "bindable": true,
            "themeable": "Advanced",
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": false
        },
        {
            "name": "data-tchmi-target-file-host-keep-alive",
            "propertyName": "TargetFileHostKeepAlive",
            "propertySetterName": "setTargetFileHostKeepAlive",
            "propertyGetterName": "getTargetFileHostKeepAlive",
            "displayName": "TargetFileHostKeepAlive",
            "visible": true,
            "displayPriority": 13,
            "type": "tchmi:general#/definitions/Boolean",
            "category": "Common",
            "description": "Defines whether the target file host is kept alive when the popup is closed. Has no effect when TargetFileHostPreload is set to true.",
            "readOnly": false,
            "bindable": true,
            "themeable": "Advanced",
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": false
        },
        {
            "name": "data-tchmi-header-text",
            "propertyName": "HeaderText",
            "propertySetterName": "setHeaderText",
            "propertyGetterName": "getHeaderText",
            "displayName": "HeaderText",
            "visible": true,
            "displayPriority": 14,
            "type": "tchmi:general#/definitions/String",
            "category": "Common",
            "description": "String that will be displayed as header text of the popup.",
            "readOnly": false,
            "themeable": "Standard",
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-modal",
            "propertyName": "Modal",
            "propertySetterName": "setModal",
            "propertyGetterName": "getModal",
            "displayName": "Modal",
            "visible": true,
            "displayPriority": 15,
            "type": "tchmi:general#/definitions/Boolean",
            "category": "Common",
            "description": "Defines if the popup overlay is modal. A modal popup darkens the background and is not moveable. A click on the darkened background closes the modal popup.",
            "readOnly": false,
            "themeable": "Standard",
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": false
        },
        {
            "name": "data-tchmi-movable",
            "propertyName": "Movable",
            "propertySetterName": "setMovable",
            "propertyGetterName": "getMovable",
            "displayName": "Movable",
            "visible": true,
            "displayPriority": 16,
            "type": "tchmi:general#/definitions/Boolean",
            "category": "Common",
            "description": "Defines if the popup overlay is movable (when Modal is false).",
            "readOnly": false,
            "bindable": true,
            "themeable": "Standard",
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": true
        },
        {
            "name": "data-tchmi-restore-bounds",
            "propertyName": "RestoreBounds",
            "propertySetterName": "setRestoreBounds",
            "propertyGetterName": "getRestoreBounds",
            "displayName": "RestoreBounds",
            "visible": true,
            "displayPriority": 17,
            "type": "tchmi:general#/definitions/Boolean",
            "category": "Common",
            "description": "Defines if the last bounds after moving the popup will be restored when opened the next time.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "themeable": "Advanced",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": true
        },
        {
            "name": "data-tchmi-popup-left",
            "propertyName": "PopupLeft",
            "propertyGetterName": "getPopupLeft",
            "displayName": "PopupLeft",
            "visible": true,
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout (rendered)",
            "description": "Returns the pixel distance between the left margin edge of the popup and the left edge of the viewport/screen.\nThese numbers will probably have rounding errors!",
            "readOnly": true,
            "bindable": false,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-popup-top",
            "propertyName": "PopupTop",
            "propertyGetterName": "getPopupTop",
            "displayName": "PopupTop",
            "visible": true,
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout (rendered)",
            "description": "Returns the pixel distance between the top margin edge of the popup and the top edge of the viewport/screen.\nThese numbers will probably have rounding errors!",
            "readOnly": true,
            "bindable": false,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-popup-width",
            "propertyName": "PopupWidth",
            "propertyGetterName": "getPopupWidth",
            "displayName": "PopupWidth",
            "visible": true,
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout (rendered)",
            "description": "Returns the outer pixel width of the popup.\nThese numbers will probably have rounding errors!",
            "readOnly": true,
            "bindable": false,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-popup-height",
            "propertyName": "PopupHeight",
            "propertyGetterName": "getPopupHeight",
            "displayName": "PopupHeight",
            "visible": true,
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Layout (rendered)",
            "description": "Returns the outer pixel height of the popup.\nThese numbers will probably have rounding errors!",
            "readOnly": true,
            "bindable": false,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-is-open",
            "propertyName": "IsOpen",
            "propertyGetterName": "getIsOpen",
            "displayName": "IsOpen",
            "visible": true,
            "displayPriority": 17,
            "type": "tchmi:general#/definitions/Boolean",
            "category": "Common",
            "description": "Returns a boolean determining if the popup is open or not.",
            "readOnly": true,
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-background-color",
            "propertyName": "BackgroundColor",
            "propertySetterName": "setBackgroundColor",
            "propertyGetterName": "getBackgroundColor",
            "displayName": "BackgroundColor",
            "visible": false,
            "themeable": "Standard",
            "displayPriority": 30,
            "type": "tchmi:framework#/definitions/Color",
            "category": "Colors",
            "description": "Definition of the background color which is used if no or a transparent Background image is set.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-tooltip",
            "propertyName": "Tooltip",
            "propertySetterName": "setTooltip",
            "propertyGetterName": "getTooltip",
            "displayName": "Tooltip",
            "visible": false,
            "themeable": "Standard",
            "displayPriority": 90,
            "type": "tchmi:general#/definitions/String",
            "category": "Common",
            "description": "Specifies a tooltip for this control.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-border-color",
            "propertyName": "BorderColor",
            "propertySetterName": "setBorderColor",
            "propertyGetterName": "getBorderColor",
            "displayName": "BorderColor",
            "visible": false,
            "themeable": "Standard",
            "displayPriority": 30,
            "type": "tchmi:framework#/definitions/Color",
            "category": "Colors",
            "description": "Color of the border.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-opacity",
            "propertyName": "Opacity",
            "propertySetterName": "setOpacity",
            "propertyGetterName": "getOpacity",
            "displayName": "Opacity",
            "visible": false,
            "themeable": "Standard",
            "displayPriority": 60,
            "type": "tchmi:framework#/definitions/Fraction",
            "category": "Layout",
            "description": "A number between 0 (not visible) and 1 (full visible). \nIf you do not need mouse/touch interaction and want to have maximum performance consider using attribute Visibility='Collapsed'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": 1
        },
        {
            "name": "data-tchmi-visibility",
            "propertyName": "Visibility",
            "propertySetterName": "setVisibility",
            "propertyGetterName": "getVisibility",
            "displayName": "Visibility",
            "visible": false,
            "themeable": "Standard",
            "displayPriority": 60,
            "type": "tchmi:framework#/definitions/Visibility",
            "category": "Layout",
            "description": "The visibility property can be used to hide (still receives pointer events) or collapse (does not use space or receive pointer events) an element and its childrens. Hidden still uses space in fluid calculations, collapsed is ignored there.\nCollapsed controls are skipped in layouting so it is much faster then opacity=0",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "Visible"
        },
        {
            "name": "data-tchmi-transform",
            "propertyName": "Transform",
            "propertySetterName": "setTransform",
            "propertyGetterName": "getTransform",
            "displayName": "Transform",
            "visible": false,
            "themeable": "Standard",
            "displayPriority": 70,
            "type": "tchmi:framework#/definitions/TransformList",
            "category": "Layout",
            "description": "A way to scale, rotate, translate and/or skew a control.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-width-mode",
            "propertyName": "WidthMode",
            "propertySetterName": "setWidthMode",
            "propertyGetterName": "getWidthMode",
            "displayName": "WidthMode",
            "visible": false,
            "themeable": "Advanced",
            "displayPriority": 60,
            "type": "tchmi:framework#/definitions/SizeMode",
            "category": "Layout",
            "description": "Defines if the width is taken from the width value or calculated from left and right (parent).",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "Value"
        },
        {
            "name": "data-tchmi-height-mode",
            "propertyName": "HeightMode",
            "propertySetterName": "setHeightMode",
            "propertyGetterName": "getHeightMode",
            "displayName": "HeightMode",
            "visible": false,
            "themeable": "Advanced",
            "displayPriority": 60,
            "type": "tchmi:framework#/definitions/SizeMode",
            "category": "Layout",
            "description": "Defines if the height is taken from the height value or calculated from top and bottom (parent).",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "Value"
        },
        {
            "name": "data-tchmi-border-width",
            "propertyName": "BorderWidth",
            "propertySetterName": "setBorderWidth",
            "propertyGetterName": "getBorderWidth",
            "displayName": "BorderWidth",
            "visible": false,
            "themeable": "Standard",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/BorderWidth",
            "category": "Border",
            "description": "Width of the border of the control.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-border-style",
            "propertyName": "BorderStyle",
            "propertySetterName": "setBorderStyle",
            "propertyGetterName": "getBorderStyle",
            "displayName": "BorderStyle",
            "visible": false,
            "themeable": "Standard",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/BorderStyle",
            "category": "Border",
            "description": "Defines the style of the border. Valid values are 'Solid', 'Dashed', 'Dotted', 'None'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-border-radius",
            "propertyName": "BorderRadius",
            "propertySetterName": "setBorderRadius",
            "propertyGetterName": "getBorderRadius",
            "displayName": "BorderRadius",
            "visible": false,
            "themeable": "Standard",
            "displayPriority": 60,
            "type": "tchmi:framework#/definitions/BorderRadius",
            "category": "Border",
            "description": "Border radius for rounded corners.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-background-image",
            "propertyName": "BackgroundImage",
            "propertySetterName": "setBackgroundImage",
            "propertyGetterName": "getBackgroundImage",
            "displayName": "BackgroundImage",
            "visible": false,
            "themeable": "Standard",
            "displayPriority": 10,
            "type": "tchmi:framework#/definitions/Path",
            "category": "Background Image",
            "description": "An image in the background which is rendered over a background color.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-background-image-width",
            "propertyName": "BackgroundImageWidth",
            "propertySetterName": "setBackgroundImageWidth",
            "propertyGetterName": "getBackgroundImageWidth",
            "displayName": "BackgroundImageWidth",
            "visible": false,
            "themeable": "Standard",
            "displayPriority": 20,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Background Image",
            "description": "Width of the background image.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-background-image-width-unit",
            "propertyName": "BackgroundImageWidthUnit",
            "propertySetterName": "setBackgroundImageWidthUnit",
            "propertyGetterName": "getBackgroundImageWidthUnit",
            "refTo": "BackgroundImageWidth",
            "displayName": "BackgroundImageWidthUnit",
            "visible": false,
            "themeable": "Advanced",
            "displayPriority": 20,
            "type": "tchmi:framework#/definitions/MeasurementUnit",
            "category": "Background Image",
            "description": "Could be 'px' or for relative positioning '%'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "px"
        },
        {
            "name": "data-tchmi-background-image-height",
            "propertyName": "BackgroundImageHeight",
            "propertySetterName": "setBackgroundImageHeight",
            "propertyGetterName": "getBackgroundImageHeight",
            "displayName": "BackgroundImageHeight",
            "visible": false,
            "themeable": "Standard",
            "displayPriority": 20,
            "type": "tchmi:framework#/definitions/MeasurementValue",
            "category": "Background Image",
            "description": "Height of the background image.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-background-image-height-unit",
            "propertyName": "BackgroundImageHeightUnit",
            "propertySetterName": "setBackgroundImageHeightUnit",
            "propertyGetterName": "getBackgroundImageHeightUnit",
            "refTo": "BackgroundImageHeight",
            "displayName": "BackgroundImageHeightUnit",
            "visible": false,
            "themeable": "Advanced",
            "displayPriority": 20,
            "type": "tchmi:framework#/definitions/MeasurementUnit",
            "category": "Background Image",
            "description": "Could be 'px' or for relative positioning '%'.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "px"
        },
        {
            "name": "data-tchmi-background-image-horizontal-alignment",
            "propertyName": "BackgroundImageHorizontalAlignment",
            "propertySetterName": "setBackgroundImageHorizontalAlignment",
            "propertyGetterName": "getBackgroundImageHorizontalAlignment",
            "displayName": "BackgroundImageHorizontalAlignment",
            "visible": false,
            "themeable": "Advanced",
            "displayPriority": 30,
            "type": "tchmi:framework#/definitions/HorizontalAlignment",
            "category": "Background Image",
            "description": "Position of the background image.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "Center"
        },
        {
            "name": "data-tchmi-background-image-vertical-alignment",
            "propertyName": "BackgroundImageVerticalAlignment",
            "propertySetterName": "setBackgroundImageVerticalAlignment",
            "propertyGetterName": "getBackgroundImageVerticalAlignment",
            "displayName": "BackgroundImageVerticalAlignment",
            "visible": false,
            "themeable": "Advanced",
            "displayPriority": 30,
            "type": "tchmi:framework#/definitions/VerticalAlignment",
            "category": "Background Image",
            "description": "Position of the background image.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "defaultValue": null,
            "defaultValueInternal": "Center"
        },
        {
            "name": "data-tchmi-background-image-padding",
            "propertyName": "BackgroundImagePadding",
            "propertySetterName": "setBackgroundImagePadding",
            "propertyGetterName": "getBackgroundImagePadding",
            "displayName": "BackgroundImagePadding",
            "visible": false,
            "themeable": "Advanced",
            "displayPriority": 60,
            "type": "tchmi:framework#/definitions/Padding",
            "category": "Background Image",
            "description": "Padding of the background image.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        },
        {
            "name": "data-tchmi-box-shadow",
            "propertyName": "BoxShadow",
            "propertySetterName": "setBoxShadow",
            "propertyGetterName": "getBoxShadow",
            "displayName": "BoxShadow",
            "visible": false,
            "themeable": "Standard",
            "displayPriority": 200,
            "type": "tchmi:framework#/definitions/BoxShadowList",
            "category": "Layout",
            "description": "Defines the box shadows.",
            "readOnly": false,
            "bindable": true,
            "defaultBindingMode": "OneWay",
            "heritable": true,
            "allowSymbolExpressionsInObject": true,
            "defaultValue": null,
            "defaultValueInternal": null
        }
    ],
    "events": [
        {
            "name": ".onOpened",
            "displayName": ".onOpened",
            "category": "Control",
            "description": "The onOpened event is raised after the popup is opened.",
            "visible": true,
            "displayPriority": 10,
            "heritable": true
        },
        {
            "name": ".onClosed",
            "displayName": ".onClosed",
            "category": "Control",
            "description": "The onClosed event is raised after the popup is closed.",
            "visible": true,
            "displayPriority": 10,
            "heritable": true
        }
    ],
    "functions": [
        {
            "name": "open",
            "displayName": "open",
            "visible": true,
            "description": "Opens the Popup.",
            "category": "Common",
            "params": [],
            "type": null,
            "heritable": true
        },
        {
            "name": "close",
            "displayName": "close",
            "visible": true,
            "description": "Closes the Popup.",
            "category": "Common",
            "params": [],
            "type": null,
            "heritable": true
        },
        {
            "name": "resetBounds",
            "displayName": "resetBounds",
            "visible": true,
            "description": "Resets the size and position of the Popup and clears that data from localStorage.",
            "category": "Common",
            "params": [],
            "type": null,
            "heritable": true
        }
    ],
    "dataTypes": [
        {
            "schema": "Schema/Types.Schema.json"
        }
    ]
}