Vueless Docs
ComponentsGitHubWebsite
  • Getting Started
  • Installation
    • Quick start (Vue)
    • Quick start (Nuxt)
    • Class autocompletion
    • Minimal requirements
    • Storybook docs
  • Global customization
    • General
    • Colors
    • Design system
    • Rounding
    • Focus Outline
    • Font Size
    • Disabled Opacity
    • Dark mode
    • Custom tailwind classes
  • Component customization
    • General
    • Styling
    • Unstyled mode
    • Conditional styling
    • Extends styling from keys
    • Nested components styling
    • Props defaults
    • Redefining props
    • Defining custom props
    • Internationalization (i18n)
  • Creating own components
    • Vueless file structure
    • Create new component
    • Copy existing component
  • Svg Icons
    • General usage
    • Custom icons
    • Dynamic import
    • Advanced settings
  • Helpers
    • Change settings in runtime
  • Other
    • Vueless Vite Plugins
Powered by GitBook
On this page
  1. Component customization

Defining custom props

If existing props don’t support the conditional styling you need, you can add custom props and use them in variants or compoundVariants as needed.

vueless.config.{js,ts}
export default {
  component: {
    UButton: {
      props: [
        /* 
         * Boolean prop example.
         */
        {
          name: "featured",
          type: "boolean",
          required: false,
          description: "Set button featured." 
        },
        
        /* 
         * Enum (string) prop example.
         */
        {
          name: "shape",
          type: "string",
          values: ["circle", "parallelogram", "square"],
          required: true,
          description: "Set button shape." 
        }
      }
    }
  }
};

The name and type keys are required; all other keys are optional.

Last updated 5 months ago