@rbxts/ui-labs
Version:
Utilities for UI-Labs, a storybook-like plugin for roblox
45 lines (36 loc) • 1.12 kB
TypeScript
import { ExtractWidenKeys } from "./ControlConversion";
import { BaseControl } from "./Typing";
export interface Datatypes {
Color3: Color3;
/*
UDim2: UDim2;
UDim: UDim;
CFrame: CFrame;
Vector3: Vector3;
Vector2: Vector2;*/
}
type IsDatatype = Datatypes[keyof Datatypes];
interface DatatypeControlProps {
Color3: {};
/*
UDim2: {};
UDim: {};
CFrame: {};
Vector3: {
Normalize: boolean;
};
Vector2: {
Normalize: boolean;
};*/
}
type DatatypeControl<T extends keyof Datatypes> = BaseControl<T, Datatypes[T]> & DatatypeControlProps[T];
type ConvertDatatype<T extends IsDatatype> = DatatypeControl<ExtractWidenKeys<Datatypes, T>>;
declare namespace Datatype {
function Color3(def: Color3): DatatypeControl<"Color3">;
/*
function UDim2(def: UDim2): DatatypeControl<"UDim2">;
function UDim(def: UDim): DatatypeControl<"UDim">;
function CFrame(def: CFrame): DatatypeControl<"CFrame">;
function Vector2(def: Vector2, normalize?: boolean): DatatypeControl<"Vector2">;
function Vector3(def: Vector3, normalize?: boolean): DatatypeControl<"Vector3">;*/
}