UNPKG

@rbxts/zircon

Version:

<div> <img src="https://i.imgur.com/YgpbX7G.png" align="left" width="128"/> <h1>ZIRCON</h1> <h3>A clean, sleek, runtime debugging console for Roblox</h3> <a href="https://npmjs.com/package/@rbxts/zircon"><img src="https://badge.fury.io

45 lines (44 loc) 1.39 kB
/// <reference types="@rbxts/types" /> /// <reference types="@rbxts/compiler-types" /> /// <reference types="roact" /> import Roact from "@rbxts/roact"; import { IconEnum } from "./Icon"; interface ItemData<T> { Id: T; SelectedText?: string; Text: string; Icon?: IconEnum; TextColor3?: Color3; } interface DropdownProps<T = string> { readonly Items: Array<ItemData<T>>; readonly Label: string; readonly SelectedItemIds?: ReadonlySet<T>; Size?: UDim2; Disabled?: boolean; ItemsSelected?: (item: Set<T>) => void; } interface DropdownState<T = string> { active: boolean; selectedItems: ReadonlySet<ItemData<T>>; selectedItemIds: ReadonlySet<T>; } export default class MultiSelectDropdown<T = string> extends Roact.Component<DropdownProps<T>, DropdownState<T>> { private dropdownRef; private maid; private portalPosition; private setPortalPosition; private portalSizeX; private setPortalSizeX; constructor(props: DropdownProps<T>); private getItemSet; private updateSelectedIndexes; setPortalPositionRelativeTo(frame: Frame): void; didUpdate(prevProps: DropdownProps<T>): void; didMount(): void; willUnmount(): void; renderDropdownItems(): Roact.Element[]; renderDropdown(): Roact.Element; render(): Roact.Element; } export {};