responsive-dialog
shuip/responsive-dialogFreeBlock
shuip publishes no description for this item.
Install it
npx shadcn@latest add https://shuip.plvo.dev/r/responsive-dialog.jsonSource
1'use client';23import * as React from 'react';4import {5 Drawer,6 DrawerClose,7 DrawerContent,8 DrawerDescription,9 DrawerFooter,10 DrawerHeader,11 DrawerTitle,12 DrawerTrigger,13} from '@/components/ui/drawer';14import {15 SideDialog,16 SideDialogBody,17 SideDialogClose,18 SideDialogContent,19 SideDialogDescription,20 SideDialogFooter,21 SideDialogHeader,22 SideDialogTitle,23 SideDialogTrigger,24} from '@/components/ui/shuip/side-dialog';25import { cn } from '@/lib/utils';2627type ResponsiveDialogPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'left' | 'right';28type ResponsiveDialogSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';29type ResponsiveDialogBreakpoint = 'sm' | 'md' | 'lg' | 'xl' | number;3031export interface ResponsiveDialogProps {32 open?: boolean;33 onOpenChange?: (open: boolean) => void;34 position?: ResponsiveDialogPosition;35 size?: ResponsiveDialogSize;36 breakpoint?: ResponsiveDialogBreakpoint;37 children?: React.ReactNode;38}3940export interface ResponsiveDialogTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {41 asChild?: boolean;42 children: React.ReactNode;43}4445export interface ResponsiveDialogContentProps extends React.HTMLAttributes<HTMLDivElement> {46 showCloseButton?: boolean;47 children: React.ReactNode;48}4950export interface ResponsiveDialogHeaderProps extends React.HTMLAttributes<HTMLDivElement> {51 children: React.ReactNode;52}5354export interface ResponsiveDialogTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {55 children: React.ReactNode;56}5758export interface ResponsiveDialogDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {59 children: React.ReactNode;60}6162export interface ResponsiveDialogFooterProps extends React.HTMLAttributes<HTMLDivElement> {63 children: React.ReactNode;64}6566export interface ResponsiveDialogCloseProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {67 asChild?: boolean;68 children?: React.ReactNode;69}7071export interface ResponsiveDialogBodyProps extends React.HTMLAttributes<HTMLDivElement> {72 children: React.ReactNode;73}7475// Helper function to convert breakpoint to pixels76const getBreakpointValue = (breakpoint: ResponsiveDialogBreakpoint): number => {77 if (typeof breakpoint === 'number') {78 return breakpoint;79 }8081 const breakpoints = {82 sm: 640,83 md: 768,84 lg: 1024,85 xl: 1280,86 };8788 return breakpoints[breakpoint];89};9091// Custom hook for responsive breakpoint detection92// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from shuip
All 52 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| calendarcalendar | shuip | Blocks | Free | 5 deps | |
| data-tabledata-table | shuip | Blocks | Free | 6 deps | |
| kanbankanban | shuip | Blocks | Free | 5 deps | |
| title-sectiontitle-section | shuip | Blocks | Free | 1 dep |
