UIPackage
Menu

Framework

Change language

Boilerplate repo

Sheet

sheetui

Side-mounted modal that slides in from the top, right, bottom, or left edge. Use for filter panels, edit drawers, and mobile menus.

Also available for React ->

When to use which

Decision Guide

Dialogs capture immediate user focus for critical actions. Sheets slide in from screen edges for deep secondary forms, while Popovers provide lightweight contextual cards.

ComponentRole
Dialog

Critical confirmations, destructive warnings, or focused single-purpose tasks requiring user resolution.

Modal Window
Sheetcurrent

Complex edit forms, filter panes, or shopping carts that retain underlying page context.

Off-Canvas Slide-Over
Drawer

Mobile bottom sheets, touch-friendly sliding panels, or secondary inspection trays.

Edge Panel / Bottom Sheet
Popover

Small contextual dropdowns, color pickers, date pickers, or inline configuration flyouts.

Contextual Floating Card
  • Urgent confirmation or focused prompt → Dialog (view)
  • Side panel for deep form editing → Sheet
  • Mobile bottom sheet or gesture tray → Drawer (view)
  • Anchored contextual flyout or controls → Popover (view)

Installation

$npx shadcn-vue@latest add https://uipkge.dev/r/vue/sheet.json
Named registry:npx shadcn-vue@latest add @uipkge/sheetInstalls to:app/components/ui/sheet/

Examples

Loading interactive previews…

Used by

Files installed (10)

  • app/components/ui/sheet/Sheet.vue0.4 kB
    <script setup lang="ts">
    import type { DialogRootEmits, DialogRootProps } from 'reka-ui'
    import { DialogRoot, useForwardPropsEmits } from 'reka-ui'
    
    const props = defineProps<DialogRootProps>()
    const emits = defineEmits<DialogRootEmits>()
    
    const forwarded = useForwardPropsEmits(props, emits)
    </script>
    
    <template>
      <DialogRoot v-slot="slotProps" data-uipkge data-slot="sheet" v-bind="forwarded">
        <slot v-bind="slotProps" />
      </DialogRoot>
    </template>
    
  • app/components/ui/sheet/SheetClose.vue0.3 kB
  • app/components/ui/sheet/SheetContent.vue3.1 kB
  • app/components/ui/sheet/SheetDescription.vue0.6 kB
  • app/components/ui/sheet/SheetFooter.vue0.3 kB
  • app/components/ui/sheet/SheetHeader.vue0.3 kB
  • app/components/ui/sheet/SheetOverlay.vue0.8 kB
  • app/components/ui/sheet/SheetTitle.vue0.6 kB
  • app/components/ui/sheet/SheetTrigger.vue0.3 kB
  • app/components/ui/sheet/index.ts0.5 kB

Raw manifest:https://uipkge.dev/r/vue/sheet.json