@kloudlite/design-system
Version:
A design system for building ambitious products.
80 lines (79 loc) • 3.01 kB
TypeScript
import React, { ReactNode } from 'react';
import * as OptionMenuPrimitive from './_dropdown-primitive';
import { ITextInput } from './input';
interface IBase {
className?: string;
onClick?: (e: Event) => void;
children: ReactNode;
}
interface ITrigger {
children: ReactNode;
open?: boolean;
props?: any;
}
interface IOptionMenuContent extends Omit<IBase, 'onClick'> {
sideOffset?: number;
open?: boolean;
align?: 'start' | 'center' | 'end';
side?: 'top' | 'right' | 'bottom' | 'left';
alignOffset?: number;
}
interface IOptionMenuItem extends IBase {
active?: boolean;
}
interface IOptionMenuLink extends IBase {
LinkComponent?: any;
to: string;
target?: string;
rel?: string;
toLabel?: string;
}
interface IOptionMenuTextInput extends Omit<ITextInput, 'onPointerDown' | 'onClick'> {
compact?: boolean;
}
interface IOptionMenuCheckbox extends IBase {
showIndicator?: boolean;
checked?: boolean;
onValueChange?: (checked: boolean) => void;
}
interface IOptionMenuRadio extends IBase {
showIndicator?: boolean;
value: string;
}
interface IOptionMenuSeparator extends Omit<IBase, 'onClick' | 'children'> {
}
interface IOptionMenuTabs extends IBase {
onChange?: (v: string) => void;
value: string;
size?: string;
LinkComponent?: any;
compact?: boolean;
}
interface IRoot {
children: ReactNode;
open?: boolean;
onOpenChange?: (open: boolean) => void;
modal?: boolean;
}
declare const OptionList: {
Root: ({ ...props }: IRoot) => import("react/jsx-runtime").JSX.Element;
RadioGroup: React.ForwardRefExoticComponent<OptionMenuPrimitive.DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
RadioGroupItem: React.ForwardRefExoticComponent<IOptionMenuRadio & React.RefAttributes<HTMLDivElement>>;
CheckboxItem: React.ForwardRefExoticComponent<IOptionMenuCheckbox & React.RefAttributes<HTMLDivElement>>;
Separator: React.ForwardRefExoticComponent<IOptionMenuSeparator & React.RefAttributes<HTMLDivElement>>;
Content: React.ForwardRefExoticComponent<IOptionMenuContent & React.RefAttributes<HTMLDivElement>>;
Trigger: React.ForwardRefExoticComponent<ITrigger & React.RefAttributes<HTMLButtonElement>>;
TextInput: React.ForwardRefExoticComponent<IOptionMenuTextInput & React.RefAttributes<HTMLInputElement>>;
Item: React.ForwardRefExoticComponent<IOptionMenuItem & React.RefAttributes<HTMLDivElement>>;
Tabs: {
Root: React.ForwardRefExoticComponent<IOptionMenuTabs & React.RefAttributes<HTMLDivElement>>;
Tab: <T>({ to, label, prefix, value: _ }: import("./tabs").ITab<T>) => import("react/jsx-runtime").JSX.Element;
};
Link: React.ForwardRefExoticComponent<IOptionMenuLink & React.RefAttributes<HTMLDivElement>>;
OptionItemRaw: React.ForwardRefExoticComponent<{
children?: ReactNode;
active?: boolean;
className?: string;
} & React.RefAttributes<unknown>>;
};
export default OptionList;