0.14.1 • Published 4 months ago

@amho/vottom-sheet v0.14.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

Vottom Sheet

Vottom Sheet is a touch-friendly, lightweight and easy-to-use Vue.js component that allows you to create smooth bottom sheets or modal dialogs in your web application.

Features

  • Simple integration: Easily integrate the Vottom Sheet component into your Vue.js project with just a few lines of code.
  • Smooth animations: Enjoy smooth and elegant animations as the bottom sheet slides into view and hides.
  • Flexible: Use Vottom Sheet however you want.
  • More to come...

Installation

# npm:
npm install @amho/vottom-sheet
# or yarn:
yarn add @amho/vottom-sheet
# or pnpm:
pnpm add @amho/vottom-sheet

How to use

<script lang="ts" setup>
import { ref } from 'vue';
import { VottomSheet } from '@amho/vottom-sheet';

const model = ref(false);
</script>

<template>
  <button type="button" @click="model = true">Open Vottom Sheet</button>

  <VottomSheet v-model="model" closeOnOverlayClick>
    <div>Hello from Vottom Sheet!</div>
  </VottomSheet>
</template>

<style src="@amho/vottom-sheet/style.css" />

How to use in Nuxt.js

Just wrap the component inside <ClientOnly> provided by Nuxt.js. This is because vottom-sheet uses browser APIs that are not available on the server.

<template>
  <ClientOnly>
    <VottomSheet v-model="model" closeOnOverlayClick>
      <div>Hello from Vottom Sheet!</div>
    </VottomSheet>
  </ClientOnly>
</template>

Props

Vottom Sheet supports the following props (More props are going to be added):

PropTypeRequiredDefault ValueDescription
modelValueBoolean-Control the visibility of the bottom sheet. Works in pair with @update:modelValue to enable 2-way data binding (v-model).
fullscreenBooleanfalseMake the component fullscreen.
zIndexString or Number0Specify the z-index of the bottom sheet.
closeOnEscapeBooleanfalseWhether to close the bottom sheet on Esc key press.
eagerBooleanfalseForce the component's content to render when it mounts. This is useful if you have content that will not be rendered in the DOM that you want crawled for SEO.
closeOnOverlayClickBooleanfalseWhether to close the bottom sheet if the overlay is clicked.
disableSwipeBooleanfalseDisable the swipe-to-close functionality.
transitionDurationBoolean300Specify the transition duration of toggling the bottom sheet.

Events

EventPayload TypeDescription
update:modelValueBooleanWorks in pair with modelValue prop to enable 2-way data binding (v-model). Can be used to listen on state changes and trigger custom code.

Slots

SlotDescription
defaultInsert the content that is going to be displayed inside the bottom sheet.
handleInsert a custom handle for the bottom sheet which is displayed above the content slot and can be used to drag the component.
0.14.1

4 months ago

0.14.0

6 months ago

0.13.2

7 months ago

0.13.1

7 months ago

0.13.0

8 months ago

0.12.1

8 months ago

0.12.0

8 months ago

0.11.0

8 months ago

0.10.1

9 months ago

0.10.0

10 months ago

0.9.4

10 months ago

0.9.3

10 months ago

0.9.2

10 months ago

0.9.1

10 months ago

0.9.0

10 months ago

0.8.2

10 months ago