Types
These are the utility types used and provided by Aether.
Side
The side of a placement.
- luau
- roblox-ts
type Side = "top" | "left" | "bottom" | "right"
type Side = "top" | "left" | "bottom" | "right";
Alignment
The alignment of a placement.
- luau
- roblox-ts
type Alignment = "start" | "end"
type Alignment = "start" | "end";
Placement
A placement value.
- luau
- roblox-ts
type Placement =
| Side
| "top-start"
| "top-end"
| "bottom-start"
| "bottom-end"
| "left-start"
| "left-end"
| "right-start"
| "right-end"
type Alignment = Side | `${Side}-${Alignment}`
note
You aren't limited to just these 12 placements. offset() allows you to create any placement.
SideObject
Used for representing different Side
values.
- luau
- roblox-ts
type SideObject = {
top: number,
bottom: number,
left: number,
right: number,
}
interface SideObject {
top: number;
bottom: number;
left: number;
right: number;
}
Rect
An object containing a rectangular area.
- luau
- roblox-ts
type Rect = {
x: number,
y: number,
width: number,
height: number,
}
interface Rect {
x: number;
y: number;
width: number;
height: number;
}
BoundingRect
A Rect
containing SideObject
values.
- luau
- roblox-ts
type BoundingRect = {
x: number,
y: number,
width: number,
height: number,
top: number,
bottom: number,
left: number,
right: number,
}
interface BoundingRect {
x: number;
y: number;
width: number;
height: number;
top: number;
bottom: number;
left: number;
right: number;
}
ElementRects
Contains the Rect
values for the reference
and target
(floating) element.
Padding
Represents a value used for padding element sides. A single number applies the same padding to all sides, while a SideObject enables customization of padding for each side individually.
- luau
- roblox-ts
type Padding = number | {
top: number?,
bottom: number?,
left: number?,
right: number?,
}
type Padding = number | Partial<{
top: number;
bottom: number;
left: number;
right: number;
}>