grandma3-ts-types
Version:
TypeScript definitions for grandMA3 Lua library.
43 lines (38 loc) • 860 B
TypeScript
type UILayoutGrid = UIObject &
UILayoutGridProps & {
1: ItemCollectRows; // Rows
2: ItemCollectColumns; // Columns
} & Obj<any, any>;
type UILayoutGridProps = UIObjectProps & {
columns: number;
rows: number;
defaultMargin: `${number}`;
};
type ItemCollectColumns = GenericObj & {
[key: number]: Item;
};
type ItemCollectRows = GenericObj & {
[key: number]: Item;
};
type ItemPropsFixed = {
sizePolicy: 'Fixed';
size?: number;
minSize?: MAUISize;
};
type ItemPropsStrech = {
sizePolicy: 'Stretch';
size?: number;
minSize?: MAUISize;
};
type ItemPropsContent = {
sizePolicy: 'Content';
size?: number;
minSize?: MAUISize;
};
// type ItemProps = ItemPropsFixed | ItemPropsStrech | ItemPropsContent;
type ItemProps = {
sizePolicy: 'Fixed' | 'Stretch' | 'Content';
size?: number;
minSize?: MAUISize;
};
type Item = GenericObj & ItemProps;