Files
flowbite-vue/docs/components/accordion/accordion.md
2022-12-11 11:34:44 +04:00

12 KiB

<script setup> import AccordionExample from './examples/AccordionExample.vue'; import AccordionAlwaysOpenExample from './examples/AccordionAlwaysOpenExample.vue'; import AccordionFlushExample from './examples/AccordionFlushExample.vue'; import AccordionStyledHeadersExample from './examples/AccordionStyledHeadersExample.vue'; </script>

Vue Accordion Component - Flowbite

Use Tailwind CSS accordion component to show expanding content


:::tip Original reference: https://flowbite.com/docs/components/accordion/ :::

Default accordion

Use this example to basic accordion.

<script setup>
import { Accordion } from 'flowbite'
import AccordionPanel from '@/components/Accordion/AccordionPanel.vue'
import AccordionHeader from '@/components/Accordion/AccordionHeader.vue'
import AccordionContent from '@/components/Accordion/AccordionContent.vue'

</script>

<template>
  <Accordion>
    <accordion-panel>
      <template #header>
        <accordion-header>header</accordion-header>
      </template>
      <template #content>
        <accordion-content>
          <div>
            <p class="mb-2 text-gray-500 dark:text-gray-400">Flowbite is an open-source library of interactive components built on top of Tailwind CSS including buttons, dropdowns, modals, navbars, and more.</p>
            <p class="text-gray-500 dark:text-gray-400">Check out this guide to learn how to <a href="/docs/getting-started/introduction/" class="text-blue-600 dark:text-blue-500 hover:underline">get started</a> and start developing websites even faster with components on top of Tailwind CSS.</p>
          </div>
        </accordion-content>
      </template>
    </accordion-panel>
    <accordion-panel>
      <template #header>
        <accordion-header>another header</accordion-header>
      </template>
      <template #content>
        <accordion-content>
          <div>
            <p class="mb-2 text-gray-500 dark:text-gray-400">Flowbite is first conceptualized and designed using the Figma software so everything you see in the library has a design equivalent in our Figma file.</p>
            <p class="text-gray-500 dark:text-gray-400">Check out the <a href="https://flowbite.com/figma/" class="text-blue-600 dark:text-blue-500 hover:underline">Figma design system</a> based on the utility classes from Tailwind CSS and components from Flowbite.</p>
          </div>
        </accordion-content>
      </template>
    </accordion-panel>
    <accordion-panel>
      <template #header>
        <accordion-header>and one more header</accordion-header>
      </template>
      <template #content>
        <accordion-content>
          <div>
            <p class="mb-2 text-gray-500 dark:text-gray-400">Flowbite is first conceptualized and designed using the Figma software so everything you see in the library has a design equivalent in our Figma file.</p>
            <p class="text-gray-500 dark:text-gray-400">Check out the <a href="https://flowbite.com/figma/" class="text-blue-600 dark:text-blue-500 hover:underline">Figma design system</a> based on the utility classes from Tailwind CSS and components from Flowbite.</p>
          </div>
        </accordion-content>
      </template>
    </accordion-panel>
  </Accordion>
</template>

Always open accordion

Always open prop to makes accordion able to open multiple elements.

<script setup>
import { Accordion } from 'flowbite'
import AccordionPanel from '@/components/Accordion/AccordionPanel.vue'
import AccordionHeader from '@/components/Accordion/AccordionHeader.vue'
import AccordionContent from '@/components/Accordion/AccordionContent.vue'

</script>

<template>
  <Accordion>
    <accordion-panel>
      <template #header>
        <accordion-header>header</accordion-header>
      </template>
      <template #content>
        <accordion-content>
          <div>
            <p class="mb-2 text-gray-500 dark:text-gray-400">Flowbite is an open-source library of interactive components built on top of Tailwind CSS including buttons, dropdowns, modals, navbars, and more.</p>
            <p class="text-gray-500 dark:text-gray-400">Check out this guide to learn how to <a href="/docs/getting-started/introduction/" class="text-blue-600 dark:text-blue-500 hover:underline">get started</a> and start developing websites even faster with components on top of Tailwind CSS.</p>
          </div>
        </accordion-content>
      </template>
    </accordion-panel>
    <accordion-panel>
      <template #header>
        <accordion-header>another header</accordion-header>
      </template>
      <template #content>
        <accordion-content>
          <div>
            <p class="mb-2 text-gray-500 dark:text-gray-400">Flowbite is first conceptualized and designed using the Figma software so everything you see in the library has a design equivalent in our Figma file.</p>
            <p class="text-gray-500 dark:text-gray-400">Check out the <a href="https://flowbite.com/figma/" class="text-blue-600 dark:text-blue-500 hover:underline">Figma design system</a> based on the utility classes from Tailwind CSS and components from Flowbite.</p>
          </div>
        </accordion-content>
      </template>
    </accordion-panel>
    <accordion-panel>
      <template #header>
        <accordion-header>and one more header</accordion-header>
      </template>
      <template #content>
        <accordion-content>
          <div>
            <p class="mb-2 text-gray-500 dark:text-gray-400">Flowbite is first conceptualized and designed using the Figma software so everything you see in the library has a design equivalent in our Figma file.</p>
            <p class="text-gray-500 dark:text-gray-400">Check out the <a href="https://flowbite.com/figma/" class="text-blue-600 dark:text-blue-500 hover:underline">Figma design system</a> based on the utility classes from Tailwind CSS and components from Flowbite.</p>
          </div>
        </accordion-content>
      </template>
    </accordion-panel>
  </Accordion>
</template>

Flush accordion

Flush prop removes side borders, and rounded corners

<script setup>
import { Accordion } from 'flowbite'
import AccordionPanel from '@/components/Accordion/AccordionPanel.vue'
import AccordionHeader from '@/components/Accordion/AccordionHeader.vue'
import AccordionContent from '@/components/Accordion/AccordionContent.vue'

</script>

<template>
  <Accordion flush>
    <accordion-panel>
      <template #header>
        <accordion-header>header</accordion-header>
      </template>
      <template #content>
        <accordion-content>
          <div>
            <p class="mb-2 text-gray-500 dark:text-gray-400">Flowbite is an open-source library of interactive components built on top of Tailwind CSS including buttons, dropdowns, modals, navbars, and more.</p>
            <p class="text-gray-500 dark:text-gray-400">Check out this guide to learn how to <a href="/docs/getting-started/introduction/" class="text-blue-600 dark:text-blue-500 hover:underline">get started</a> and start developing websites even faster with components on top of Tailwind CSS.</p>
          </div>
        </accordion-content>
      </template>
    </accordion-panel>
    <accordion-panel>
      <template #header>
        <accordion-header>another header</accordion-header>
      </template>
      <template #content>
        <accordion-content>
          <div>
            <p class="mb-2 text-gray-500 dark:text-gray-400">Flowbite is first conceptualized and designed using the Figma software so everything you see in the library has a design equivalent in our Figma file.</p>
            <p class="text-gray-500 dark:text-gray-400">Check out the <a href="https://flowbite.com/figma/" class="text-blue-600 dark:text-blue-500 hover:underline">Figma design system</a> based on the utility classes from Tailwind CSS and components from Flowbite.</p>
          </div>
        </accordion-content>
      </template>
    </accordion-panel>
    <accordion-panel>
      <template #header>
        <accordion-header>and one more header</accordion-header>
      </template>
      <template #content>
        <accordion-content>
          <div>
            <p class="mb-2 text-gray-500 dark:text-gray-400">Flowbite is first conceptualized and designed using the Figma software so everything you see in the library has a design equivalent in our Figma file.</p>
            <p class="text-gray-500 dark:text-gray-400">Check out the <a href="https://flowbite.com/figma/" class="text-blue-600 dark:text-blue-500 hover:underline">Figma design system</a> based on the utility classes from Tailwind CSS and components from Flowbite.</p>
          </div>
        </accordion-content>
      </template>
    </accordion-panel>
  </Accordion>
</template>

Styling accordion

You can style accordion content and headers by passing tailwind classes into them.

<script setup>
import { Accordion } from 'flowbite'
import AccordionPanel from '@/components/Accordion/AccordionPanel.vue'
import AccordionHeader from '@/components/Accordion/AccordionHeader.vue'
import AccordionContent from '@/components/Accordion/AccordionContent.vue'

</script>

<template>
  <Accordion flush>
    <accordion-panel>
      <template #header>
        <accordion-header>header</accordion-header>
      </template>
      <template #content>
        <accordion-content>
          <div>
            <p class="mb-2 text-gray-500 dark:text-gray-400">Flowbite is an open-source library of interactive components built on top of Tailwind CSS including buttons, dropdowns, modals, navbars, and more.</p>
            <p class="text-gray-500 dark:text-gray-400">Check out this guide to learn how to <a href="/docs/getting-started/introduction/" class="text-blue-600 dark:text-blue-500 hover:underline">get started</a> and start developing websites even faster with components on top of Tailwind CSS.</p>
          </div>
        </accordion-content>
      </template>
    </accordion-panel>
    <accordion-panel>
      <template #header>
        <accordion-header class="bg-blue-800">another header</accordion-header>
      </template>
      <template #content>
        <accordion-content>
          <div>
            <p class="mb-2 text-gray-500 dark:text-gray-400">Flowbite is first conceptualized and designed using the Figma software so everything you see in the library has a design equivalent in our Figma file.</p>
            <p class="text-gray-500 dark:text-gray-400">Check out the <a href="https://flowbite.com/figma/" class="text-blue-600 dark:text-blue-500 hover:underline">Figma design system</a> based on the utility classes from Tailwind CSS and components from Flowbite.</p>
          </div>
        </accordion-content>
      </template>
    </accordion-panel>
    <accordion-panel>
      <template #header>
        <accordion-header>and one more header</accordion-header>
      </template>
      <template #content>
        <accordion-content>
          <div>
            <p class="mb-2 text-gray-500 dark:text-gray-400">Flowbite is first conceptualized and designed using the Figma software so everything you see in the library has a design equivalent in our Figma file.</p>
            <p class="text-gray-500 dark:text-gray-400">Check out the <a href="https://flowbite.com/figma/" class="text-blue-600 dark:text-blue-500 hover:underline">Figma design system</a> based on the utility classes from Tailwind CSS and components from Flowbite.</p>
          </div>
        </accordion-content>
      </template>
    </accordion-panel>
  </Accordion>
</template>