Vueless Docs
ComponentsGitHubWebsite
  • Installation
    • Quick start (Vue)
    • Quick start (Nuxt)
    • Class autocompletion
    • Minimal requirements
    • Storybook docs
  • Global customization
    • General
    • Colors
    • Rounding
    • Focus Outline
    • Dark mode
    • Base Classes
    • Custom tailwind classes
  • Component customization
    • General
    • Styling
    • Conditional styling
    • Extends styling from keys
    • Nested components styling
    • Classes smart merging
    • 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
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 4 months ago