Getting Started
Overview
Zoom Avant (pronounced /zum a.vɑ̃/) is a drilldown component for VueJS 3 and Nuxt 3. Why ? This was not available on the internet and I needed one for a project at my company.
WARNING
This library is not compatible with VueJS 2 and so, NuxtJS 2
The drilldown is inspired by the Foundation Drilldown (an old css/js framework if you don't know about it).
Zoom Avant is mainly focus to be very customizable, accessible (respect ARIA Menu pattern) and flexible to cover all the use case you need a drilldown component (especially a mobile menu).
Browser support
Zoom Avant uses modern API to work like ResizableObserver, MutationObserver or :scope selector.
No support for IE11 is planned.
Installation
Vue
- Install the library with your favorite package manager
shell
npm i -D @zoom-avant/vue
# yarn
yarn add -D @zoom-avant/vue
# pnpm
pnpm add -D @zoom-avant/vue
- Import manually the components or globally import via plugin installation
vue
<script setup lang="ts">
import { ZAvant, ZAvantMenu, ZAvantItem } from '@zoom-avant/vue'
import '@zoom-avant/vue/css'
</script>
- That's it, see the usage page to continue your journey.
or
ts
import { ZAvantPlugin } from '@zoom-avant/vue'
import { createApp } from 'vue'
const app = createApp({})
app.use(ZAvantPlugin)
WARNING
Don't forget to import the css styles
Nuxt
- Install the library with your favorite package manager
shell
npm i -D @zoom-avant/nuxt
# yarn
yarn add -D @zoom-avant/nuxt
# pnpm
pnpm add -D @zoom-avant/nuxt
- In your
nuxt.config.ts
, add the@zoom-avant/nuxt
in themodules
array.
ts
export default defineNuxtConfig({
modules: ['@zoom-avant/nuxt']
})
- That's it, see the usage page to continue your adventure.
After that, don't forget to consult Nuxt page which details the module.
Credits
- Foundation Drilldown
- Aria Pattern Menu
- Anu and Pinia packages for the inspiration