Skip to content
On this page

Accordion ​

An Accordion displays a list of high-level options that can expand or collapse to reveal more information about a subject or item.

Basic Usage ​

You can expand multiple panels at the same time

Style ​

You can customize the background color of the accordion item when it is active by using accordionItemActiveBackgroundColorand accordionItemActiveTitleColor as shown below:

Disabled ​

The disabled attribute is used to indicate whether a WAccordionItem should be disabled or not. It accepts a Boolean value, where "true" means the WAccordionItem is disabled, and "false" means it is enabled. By default it is false.

Icons ​

The WAccordionItem component allows you to include two icons - one positioned in front of the title (leading) and the other at the far end, after the title (trailing).

You can use the leading icon as shown below:

You can use the trailing icon by setting the trailing prop to true as shown below:

If you need both the leading and trailing icons, you can use the leading and trailing slot respectively as shown below:

Rounded ​

You can use the rounded prop to give the WAccordionItem rounded borders as shown below:

Transitions ​

You can use the accordionItembody preset to set the transition of the WAccordionItem as shown below:

By default, the transition is set to duration-500

Preset ​

js
WAccordion: {
    base: {
      root: 'w-full bg-white dark:bg-black border border-gray-300 dark:border-gray-900 flex flex-col',
    },

    variants: {},
  },
  WAccordionItem: {
    base: {
      root: 'border-t dark:bg-black dark:border-gray-900 transition duration-500 hover:bg-gray-100 dark:hover:bg-gray-900',
      accordionItemActiveBackgroundColor: 'bg-gray-200 dark:bg-gray-800',
      accordionItemActiveTitleColor: 'text-black dark:text-white',
      accordionItemActiveLeadingIconColor: 'text-xl text-black dark:text-white',
      accordionItemActiveTrailingIconColor: 'text-xl text-black dark:text-white',
      accordionItemRounded: 'first:rounded-t-lg last:rounded-b-lg',
      accordionItemTitle: 'font-medium dark:text-white text-black',
      accordionIsDisabled: 'bg-gray-100 dark:bg-gray-900 dark:text-gray-700',
      accordionItemIcon: 'relative ml-auto dark:text-white h-5 w-5 text-black transition-transform duration-500 md:h-6 md:w-6',
      accordionItemIconIsDisabled: 'dark:text-gray-800 text-gray-300',
      accordionItemButton: 'flex justify-between items-center cursor-pointer p-2',
      accordionItemIconIsLeading: 'space-x-2.5',
      accordionItemIconIsNotLeading: 'space-x-2',
      accordionItemLeadingClass: 'absolute left-2.5 cursor-pointer flex items-center overflow-hidden',
      accordionItemTrailingClass: 'absolute right-4 inset-y-0 cursor-pointer flex items-center overflow-hidden',
      accordionItembody: 'overflow-hidden px-5 transition-[height] duration-500 text-black will-change-[height] md:px-6',
      accordionItemContent: 'py-2 font-light leading-relaxed tracking-wide text-black dark:text-white',
    },
    variants: {
      default: {
        root: 'border-b dark:bg-black border-gray-300 dark:border-gray-900 transition duration-500 hover:bg-gray-100 dark:hover:bg-gray-900',
        accordionItemActiveBackgroundColor: 'bg-gray-200 dark:bg-gray-800',
        accordionItemRounded: 'first:rounded-t-lg last:rounded-b-lg',
        accordionItemTitle: 'font-medium dark:text-white text-black',
        accordionIsDisabled: 'text-gray-400 bg-gray-100',
        accordionItemIcon: 'relative ml-auto dark:text-white h-5 w-5 text-black transition-transform duration-500 md:h-6 md:w-6',
        accordionItemIconIsLeading: 'space-x-2.5',
        accordionItemIconIsNotLeading: 'space-x-2',
        accordionItemButton: 'flex justify-between items-center cursor-pointer p-2',
        accordionItemLeadingClass: 'absolute left-2.5 cursor-pointer flex items-center overflow-hidden',
        accordionItemTrailingClass: 'absolute right-4 inset-y-0 cursor-pointer flex items-center overflow-hidden',
        accordionItembody: 'overflow-hidden px-5 transition-[height] duration-500 text-black will-change-[height] md:px-6',
        accordionItemContent: 'py-2 font-light leading-relaxed tracking-wide text-black dark:text-white',
      },
    },
  },
WAccordion: {
    base: {
      root: 'w-full bg-white dark:bg-black border border-gray-300 dark:border-gray-900 flex flex-col',
    },

    variants: {},
  },
  WAccordionItem: {
    base: {
      root: 'border-t dark:bg-black dark:border-gray-900 transition duration-500 hover:bg-gray-100 dark:hover:bg-gray-900',
      accordionItemActiveBackgroundColor: 'bg-gray-200 dark:bg-gray-800',
      accordionItemActiveTitleColor: 'text-black dark:text-white',
      accordionItemActiveLeadingIconColor: 'text-xl text-black dark:text-white',
      accordionItemActiveTrailingIconColor: 'text-xl text-black dark:text-white',
      accordionItemRounded: 'first:rounded-t-lg last:rounded-b-lg',
      accordionItemTitle: 'font-medium dark:text-white text-black',
      accordionIsDisabled: 'bg-gray-100 dark:bg-gray-900 dark:text-gray-700',
      accordionItemIcon: 'relative ml-auto dark:text-white h-5 w-5 text-black transition-transform duration-500 md:h-6 md:w-6',
      accordionItemIconIsDisabled: 'dark:text-gray-800 text-gray-300',
      accordionItemButton: 'flex justify-between items-center cursor-pointer p-2',
      accordionItemIconIsLeading: 'space-x-2.5',
      accordionItemIconIsNotLeading: 'space-x-2',
      accordionItemLeadingClass: 'absolute left-2.5 cursor-pointer flex items-center overflow-hidden',
      accordionItemTrailingClass: 'absolute right-4 inset-y-0 cursor-pointer flex items-center overflow-hidden',
      accordionItembody: 'overflow-hidden px-5 transition-[height] duration-500 text-black will-change-[height] md:px-6',
      accordionItemContent: 'py-2 font-light leading-relaxed tracking-wide text-black dark:text-white',
    },
    variants: {
      default: {
        root: 'border-b dark:bg-black border-gray-300 dark:border-gray-900 transition duration-500 hover:bg-gray-100 dark:hover:bg-gray-900',
        accordionItemActiveBackgroundColor: 'bg-gray-200 dark:bg-gray-800',
        accordionItemRounded: 'first:rounded-t-lg last:rounded-b-lg',
        accordionItemTitle: 'font-medium dark:text-white text-black',
        accordionIsDisabled: 'text-gray-400 bg-gray-100',
        accordionItemIcon: 'relative ml-auto dark:text-white h-5 w-5 text-black transition-transform duration-500 md:h-6 md:w-6',
        accordionItemIconIsLeading: 'space-x-2.5',
        accordionItemIconIsNotLeading: 'space-x-2',
        accordionItemButton: 'flex justify-between items-center cursor-pointer p-2',
        accordionItemLeadingClass: 'absolute left-2.5 cursor-pointer flex items-center overflow-hidden',
        accordionItemTrailingClass: 'absolute right-4 inset-y-0 cursor-pointer flex items-center overflow-hidden',
        accordionItembody: 'overflow-hidden px-5 transition-[height] duration-500 text-black will-change-[height] md:px-6',
        accordionItemContent: 'py-2 font-light leading-relaxed tracking-wide text-black dark:text-white',
      },
    },
  },

Released under the MIT License.