Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A sleek, highly responsive, touch-friendly, full-featured Bottom Sheet component for Vue.js

License

NotificationsYou must be signed in to change notification settings

amirhoseinsalimi/vottom-sheet

Repository files navigation

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

Lightweight and touch-friendly Bottom Sheet component for Vue.js

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>  <buttontype="button"@click="model = true">Open Vottom Sheet</button>  <VottomSheetv-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>    <VottomSheetv-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 orNumber0Specify thez-index of the bottom sheet.
closeOnEscapeBooleanfalseWhether to close the bottom sheet onEsc 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 withmodelValue 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 thecontent slot and can be used to drag the component.

About

A sleek, highly responsive, touch-friendly, full-featured Bottom Sheet component for Vue.js

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors2

  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp