UNPKG

vueless

Version:

Vue Styleless UI Component Library, powered by Tailwind CSS.

84 lines (67 loc) 1.43 kB
import defaultConfig from "./config.ts"; import type { ComponentConfig } from "../types.ts"; export type Config = typeof defaultConfig; export interface UToggleOption { value: string | number | boolean; label?: string; disabled?: boolean; icon?: string; leftIcon?: string; rightIcon?: string; onClick?: (option: Omit<UToggleOption, "onClick">) => void; [key: string]: unknown; } export interface Props { /** * Selected value. */ modelValue?: string | number | boolean | (string | number | boolean)[]; /** * Toggle item options. */ options?: UToggleOption[]; /** * Toggle size. */ size?: "2xs" | "xs" | "sm" | "md" | "lg" | "xl"; /** * Toggle name. */ name: string; /** * Allow selecting a few options and return them as an array. */ multiple?: boolean; /** * Show items without a grouping border. */ split?: boolean; /** * Make toggle disabled. */ disabled?: boolean; /** * Make the Toggle expand to fill the entire width of its container. */ block?: boolean; /** * Set button corners rounded. */ round?: boolean; /** * Set the same paddings for the button. */ square?: boolean; /** * Unique element id. */ id?: string; /** * Component config object. */ config?: ComponentConfig<Config>; /** * Data-test attribute for automated testing. */ dataTest?: string | null; }