/**
* @namespace Reactor.Components
*/
export * from "./data";
export * from "./feedback";
export * from "./input";
export * from "./layout";
export * from "./list";
export * from "./navigation";
export * from "./surfaces";
export * from "./templates";
export * from "./maps";
export * from "./media";
/**
* @typedef {string} ControlName
* Representa el name del control en un contexto de form,
* se usará para identificar el valor en el objeto que se enviará en el post al hacer submit
*/
/**
* @typedef {("true"|"false")} BooleanString
* Representa un valor booleano pasado por atributos de elemento html,
* "true" para verdadero y "false" para falso
*/
/**
* @typedef {("line"|"area"|"bar"|"radar"|"histogram"|"pie"|"donut"|"radialBar"|"scatter"|"bubble"|"heatmap"|"candlestick")} ChartType
* <a href="https://apexcharts.com/docs/options/chart/type/">Ir a la documentación</a>
*/
/**
* @typedef {("menu"|"modal"|"navigate"|"toast"|"frame"|"operation")} NavigationTarget
* Establece el modo en que se va a mostrar la respuesta del servidor.<br/>
* menu: se muestra en un menu contextual que aparece por alguno de los bordes de la pantalla (definido en 'direction'), dando inicio a una operación o continuando con la misma<br/>
* modal: se muestra en un popup que finaliza la operación<br/>
* navigate: se dirige a otra pantalla, pasando como parametros la respuesta del servidor<br/>
* toast: se muestra en un toast en la parte superior de la pantalla<br/>
* frame: se muestra en un FrameDiv (definido en la propiedad 'to')<br/>
* operation: el resultado no se muestra, es una manera de hacer un envío de datos silencioso
*/
/**
* @typedef {string} JsonString
* Representa un objeto JSON con las propiedades que se van a utilizar
* como configuración o para enviar como conjunto de propiedades a un componente.
* El string se parsea con JSON.parse() y luego se utiliza como objeto.
* Ej.: <Draw options='{"canvasWidth": 270, "className": "draw-class"}' ></Draw>
*/
/**
* @typedef {string} DataURL
* Datos URIs
* Datos URIs, URLs prefijados con los datos: esquema, permiten a los creadores de contenido incorporar pequeños archivos en linea en los documentos.
* Sintaxis
* Los datos URIs se componen de cuatro partes a: un prefijo (data:), un tipo MIME que indica el tipo de datos, un token base64 opcional no textual, y los datos en si:
* data:[<mediatype>][;base64],<data>
* <a href="https://developer.mozilla.org/es/docs/Web/HTTP/Basics_of_HTTP/Data_URLs" target="dataurl">Seguir leyendo...</a>
*/
/**
* @typedef {("top" | "bottom" | "start")} DirectionType Establece la dirección en la que va a aparecer el menú
**/
/**
* @typedef {("startsWith"|"endsWith"|"="|">"|"<"|"!="|">="|"<="|"?"|"??"|"!"|"!!")} LogicOperator Operador logico para comparar valores
**/
/**
* @typedef {("text"|"number"|"boolean")} VariableType Tipo de variable
**/
/**
* @typedef {JsonString} MenuOptions
* @property {DirectionType} direction Dirección en la que va a mostrarse el menú
* @property {string} offcanvas_class Clase que se va a dar al menú
*/
/**
* Este tipo de dato define las respuestas del endpoint orquesta, a todas las operaciones, para renderizar templates en la app.
* @typedef {Object} OrquestaResponse
* @property {OrquestaResponseData!} data
* @property {string?} token Token que permite mantener activo un flow en ejecución
* @property {bool?} isAuth Determina si el usuario se encuentra logueado en el sistema, no se utiliza en el componente Template, solamente se procesa en la respuesta del servidor cuando se solicita una operación
*/
/**
* Data necesaria para seleccionar el template y los parametros
* @typedef {Object} OrquestaResponseData
* @property {string} template Nombre del template que se va a usar como plantilla para renderizar
* @property {...*} params Todos los parametros que se usan en el template
* @property {OrquestaResponseDataVariables|OrquestaResponseDataVariables[]} _variables Todos los parametros que se usan en el template
* @property {string} _hooks Lista de hooks que se quieren ejecutar
*/
/**
* @typedef {Object} OrquestaResponseDataVariables
* @property {string} variable Nombre de la variable
* @property {Object|string|any} data Datos que contendra la variable, cualquier tipo de dato, objeto, cadena, arrays
* @property {string} context Contexto donde se ubicará la variable
* @property {boolean} storage Determina si los datos se guardarán en LocalStorage del explorador
* @example
new {
variable = "credenciales",
data = new object[]{
new {
name = "Credencial1",
guid = "cr1",
},
new {
name = "Credencial2",
guid = "cr2",
}
},
context = "auth",
storage = true,
}
*/
/**
* @typedef {JsonString} DrawOqtOptions
* @property {number} [loadTimeOffset = 5]
* @property {number} [lazyRadius = 1]
* @property {number} [brushRadius = 1]
* @property {string} [brushColor = "#444"]
* @property {string} [catenaryColor = "#0a0302"]
* @property {string} [gridColor = "rgba(150,150,150,0.17)"]
* @property {boolean} [hideGrid = false]
* @property {number} [canvasWidth = 400]
* @property {number} [canvasHeight = 400]
* @property {boolean} [disabled = false]
* @property {number} [imgSrc = ""]
* @property {boolean} [immediateLoading = false]
* @property {boolean} [hideInterface = false]
* @property {number} [gridSizeX = 25]
* @property {number} [gridSizeY = 25]
* @property {number} [gridLineWidth = 0.5]
* @property {numbooleanber} [hideGridX = false]
* @property {boolean} [hideGridY = false]
* @property {boolean} [enablePanAndZoom = false]
* @property {number} [mouseZoomFactor = 0.01]
* @property {object} [zoomExtents = { min: 0.33, max: 3 }]
*/
/**
* @typedef {("scale-up-center" |
* "scale-up-bottom-left" |
* "scale-up-bottom-right" |
* "scale-up-top-left" |
* "scale-up-top-right" |
* "scale-up-vertical-center" |
* "scale-up-horizontal-center" |
* "scale-up-top" |
* "scale-up-bottom" |
* "scale-up-left" |
* "scale-up-right" |
* "scale-up-vertical-top" |
* "scale-up-vertical-top" |
* "scale-up-horizontal-left" |
* "scale-up-horizontal-right" |
* "scale-up-horizontal-right" |
* "scale-down-center" |
* "scale-down-top" |
* "scale-down-bottom" |
* "scale-down-left" |
* "scale-down-right" |
* "scale-down-bottom-left" |
* "scale-down-bottom-right" |
* "scale-down-top-left" |
* "scale-down-top-right" |
* "scale-down-horizontal-center" |
* "scale-down-horizontal-left" |
* "scale-down-horizontal-right" |
* "scale-down-vertical-center" |
* "scale-down-vertical-top" |
* "scale-down-vertical-bottom" |
* "rotate-center" |
* "rotate-top" |
* "rotate-bottom" |
* "rotate-right" |
* "rotate-left" |
* "rotate-top-right" |
* "rotate-top-left" |
* "rotate-bottom-left" |
* "rotate-bottom-right" |
* "rotate-horizontal-center" |
* "rotate-horizontal-top" |
* "rotate-horizontal-bottom" |
* "rotate-vertical-center" |
* "rotate-vertical-left" |
* "rotate-vertical-right" |
* "rotate-diagonal-right" |
* "rotate-diagonal-left" |
* "rotate-diagonal-top-right" |
* "rotate-diagonal-top-left" |
* "rotate-diagonal-bottom-left" |
* "rotate-diagonal-bottom-right" |
* "rotate-scale-up" |
* "rotate-scale-down" |
* "rotate-scale-up-horizontal" |
* "rotate-scale-down-horizontal" |
* "rotate-scale-up-vertical" |
* "rotate-scale-down-vertical" |
* "rotate-scale-up-diagonal-left" |
* "rotate-scale-down-diagonal-right" |
* "rotate-scale-down-diagonal-left" |
* "rotate-scale-down-diagonal-right" |
* "swing-top" |
* "swing-bottom" |
* "swing-left" |
* "swing-right" |
* "swing-top-right" |
* "swing-top-left" |
* "swing-bottom-right" |
* "swing-bottom-left" |
* "slide-top" |
* "slide-bottom" |
* "slide-right" |
* "slide-left" |
* "slide-top-right" |
* "slide-top-left" |
* "slide-bottom-right" |
* "slide-bottom-left" |
* "slide-rotate-horizontal-top" |
* "slide-rotate-horizontal-bottom" |
* "slide-rotate-vertical-left" |
* "slide-rotate-vertical-right" |
* "shadow-drop-center" |
* "shadow-drop-top" |
* "shadow-drop-right" |
* "shadow-drop-bottom" |
* "shadow-drop-left" |
* "shadow-drop-left-right" |
* "shadow-drop-top-bottom" |
* "shadow-drop-top-right" |
* "shadow-drop-bottom-right" |
* "shadow-drop-bottom-left" |
* "shadow-drop-top-left" |
* "shadow-pop-top-right" |
* "shadow-pop-bottom-right" |
* "shadow-pop-bottom-left" |
* "shadow-pop-top-left" |
* "shadow-inset-center" |
* "shadow-inset-top" |
* "shadow-inset-right" |
* "shadow-inset-bottom" |
* "shadow-inset-left" |
* "shadow-inset-top-right" |
* "shadow-inset-bottom-right" |
* "shadow-inset-bottom-left" |
* "shadow-inset-top-left" |
* "tracking-in-expand" |
* "tracking-in-expand-forward-top" |
* "tracking-in-expand-forward-bottom" |
* "tracking-in-contract" |
* "tracking-out-contract" |
* "tracking-out-expand-forward-top" |
* "tracking-out-expand-forward-bottom" |
* "blur-in" |
* "blur-in-expand" |
* "blur-out" |
* "blur-out-expand" |
* "blur-out-contract" |
* "vibrate" |
* "flicker" |
* "shake-horizontal" |
* "shake-vertical" |
* "shake-left-right" |
* "shake-right" |
* "shake-left" |
* "jello-horizontal" |
* "jello-vertical" |
* "jello-diagonal" |
* "wobble-horizontal-bottom" |
* "wobble-horizontal-top" |
* "wobble-vertical-left" |
* "wobble-vertical-right" |
* "bounce-top" |
* "bounce-bottom" |
* "bounce-left" |
* "bounce-right")} EffectList Lista de efectos disponibles
*/