Socket
Socket
Sign inDemoInstall

@vuesimple/vs-accordion

Package Overview
Dependencies
0
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @vuesimple/vs-accordion

A simple vue accordion.


Version published
Maintainers
1
Created

Readme

Source

Vue Simple Tag

🗃 A simple vue accordion. Perfect for all your accordion, faq's scenarios.

A light weight vue plugin built groundup.

npm npm

forthebadge forthebadge forthebadge forthebadge forthebadge forthebadge


📺 Live Demo

Code Sandbox: Link


🛠 Install

npm i @vuesimple/vs-accordion

🚀 Usage

<template>
  <vs-accordion :is-box="true" is-compact>
    <vs-accordion-item v-for="(n, index) in [1, 2, 3]" :key="index">
      <!-- This slot will handle the title of the accordion and is the part you click on -->
      <template slot="accordion-trigger">
        <h4>Item {{ n }}</h4>
      </template>

      <!-- Default content -->
      <div>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
        magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
        consequat.
      </div>
    </vs-accordion-item>
  </vs-accordion>
</template>

<script>
  import { VsAccordion, VsAccordionItem } from '@vuesimple/vs-accordion';

  export default {
    components: {
      VsAccordion,
      VsAccordionItem,
    },
  };
</script>

🌎 CDN

<script src="https://unpkg.com/@vuesimple/vs-accordion@<version>/dist/vs-accordion.min.js"></script>
// Main/Entry file
app.use(VsAccordion.plugin);
<template>
  <vs-accordion :is-box="true" is-compact>
    <vs-accordion-item v-for="(n, index) in [1, 2, 3]" :key="index">
      <!-- This slot will handle the title of the accordion and is the part you click on -->
      <template slot="accordion-trigger">
        <h4>Item {{ n }}</h4>
      </template>

      <!-- Default content -->
      <div>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
        magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
        consequat.
      </div>
    </vs-accordion-item>
  </vs-accordion>
</template>

Nuxt.js

Nuxt Code Snippet

After installation,

  • Create a file /plugins/vs-accordion.js

    import Vue from 'vue';
    import { VsAccordion, VsAccordionItem } from '@vuesimple/vs-accordion';
    
    Vue.component('vs-accordion', VsTag);
    
  • Update nuxt.config.js

    module.exports = {
      ...
      plugins: [
        { src: '~plugins/vs-accordion', mode: 'client' }
        ...
      ]
    }
    
  • In the page/ component

    <template>
      <vs-accordion :is-box="true" is-compact>
        <vs-accordion-item v-for="(n, index) in [1, 2, 3]" :key="index">
          <!-- This slot will handle the title of the accordion and is the part you click on -->
          <template slot="accordion-trigger">
            <h4>Item {{ n }}</h4>
          </template>
    
          <!-- Default content -->
          <div>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
            magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
            consequat.
          </div>
        </vs-accordion-item>
      </vs-accordion>
    </template>
    

Note

  • For older Nuxt versions, use <no-ssr>...</no-ssr> tag.
  • You can also do import { VsAccordion, VsAccordionItem } from '@vuesimple/vs-accordion' & add in component:{ VsAccordion, VsAccordionItem } and use it within component, without globally installing in plugin folder.

⚙ Props

VsAccordion
NameTypeDefaultDescription
activeNumber-Index of the accordion to be made active/visible. Starts from 0.
is-boxString-Box syle applied.
is-expandableBoolean-Enables simultaneous expansion of accordion sections.
levelBoolean-Sets aria-level heading rank in the document structure.
is-compactBoolean-Applies compact styling.
disable-animateBoolean-Disable toggle animation.

🔥 Events

VsAccordionItem
NameDescription
changeTriggered accordion open/close click { index: 0, visible: true }
openEmitted when the accordion starts to open. Listen for it using @open.
hideEmitted when the accordion close transition completes. Listen for it using @hide.

📎 Slots

VsAccordion

You can define own item markup via slots:

NameDescription
(default)Default wrapper content for vs-accordion.
accordion-non-clickableNon-Clickable content inside header
VsAccordionItem

You can define own item markup via slots:

NameDescription
accordion-triggerHeading content.
accordion-iconIcon content. If not present, default icon will be shown
(default)Default accordion content section for vs-accordion-item.

Keywords

FAQs

Last updated on 29 Apr 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc