export type GxgFormItemsArray = (HTMLGxgComboBoxItemElement | HTMLGxgFormCheckboxElement | HTMLGxgFormRadioElement)[] | null;
export type ObjectBaseData = {
id: string;
name: string;
};
export type GxOption = {
id: string;
label?: string;
name?: string;
value?: string;
type?: string;
disabled?: boolean;
checked?: boolean;
selected?: boolean;
icon?: string;
iconName?: string;
iconColor?: string;
};
export type ImportCategoryData = {
id: string;
name: string;
icon: string;
items: ImportItemData[];
};
export type ImportItemData = {
id: string;
name: string;
};
export type ImportItemResultData = {
id: string;
name: string;
status: "warning" | "error" | "success";
messages?: string[];
};
export type Position = "above" | "end" | "below" | "start";
export type LabelPosition = "inline-start" | "block-start" | "none";
export type FormElementValidation = {
key: string;
message: string;
hasError: boolean;
};
export type FormSubmitResult = {
success: boolean;
fieldErrors: FormElementValidation[];
};
export type ConnectionResultData = {
success: boolean;
fieldErrors: FormElementValidation[];
};
export type ObjectType = {
id: string;
name: string;
icon?: string;
};
export type ContextMenuInfo = {
selection: string[];
clientX: number;
clientY: number;
};
export type ItemsCheckedState = {
itemsChecked: string[];
itemsUnchecked: string[];
};
export type ItemsCheckedResult = {
itemsToCheck: string[];
itemsToUncheck: string[];
};
export type ResultState = "info" | "success" | "warning" | "error";
export type EntityData = {
id: string;
name: string;
iconSrc?: string;
};
export type GxServerAuthenticationType = "genexus" | "local";
/**
* Useful to filtering the keys of an object by pattern matching the keys. For
* example, all GeneXus IDE UI controls:
*
* @example
* ```ts
* type GeneXusIdeUIControlsTagName = FilterKeys<
* HTMLElementTagNameMap,
* `gx-ide-${string}`
* >
* ```
*/
export type FilterKeys = {
[K in keyof T]: K extends U ? K : never;
}[keyof T];
export type GeneXusIdeUIControlsTagName = FilterKeys;