UNPKG

vueless

Version:

Vue Styleless UI Component Library, powered by Tailwind CSS.

85 lines (71 loc) 1.45 kB
import defaultConfig from "./config.ts"; import type { DefineComponent, SVGAttributes } from "vue"; import type { ComponentConfig } from "../types.ts"; export type Config = typeof defaultConfig; export type IconLibraries = | "vueless" | "@material-symbols" | "bootstrap-icons" | "heroicons" | "custom-icons"; export interface Props { /** * Icon name. */ name?: string; /** * Icon source (svg as a vue component). */ src?: DefineComponent<SVGAttributes>; /** * Icon color. */ color?: | "grayscale" | "red" | "orange" | "amber" | "yellow" | "lime" | "green" | "emerald" | "teal" | "cyan" | "sky" | "blue" | "indigo" | "violet" | "purple" | "fuchsia" | "pink" | "rose" | "gray" | "black" | "white" | "inherit" | "brand"; /** * Icon size. */ size?: "4xs" | "3xs" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl"; /** * Icon variant. */ variant?: "light" | "default" | "dark"; /** * Make the icon interactive (cursor pointer, etc.). */ interactive?: boolean; /** * Mark that Icon used inside Vueless components (used to get icons from vueless library). */ internal?: boolean; /** * Component config object. */ config?: ComponentConfig<Config>; /** * Data-test attribute for automated testing. */ dataTest?: string | null; }