blur-vignette
ui-layouts/blur-vignetteFreeComponent
ui-layouts publishes no description for this item.
Install it
npx shadcn@latest add https://www.ui-layouts.com/r/blur-vignette.jsonSource
1'use client';2import { cn } from '@/lib/utils';3import type React from 'react';4import { createContext, useContext } from 'react';56interface BlurVignetteContextProps {7 radius?: string;8 inset?: string;9 transitionLength?: string;10 blur?: string;11}1213const BlurVignetteContext = createContext<BlurVignetteContextProps>({14 radius: '24px',15 inset: '20px',16 transitionLength: '44px',17 blur: '6px',18});1920export const useBlurVignetteContext = () => useContext(BlurVignetteContext);2122interface BlurVignetteProps {23 classname?: string;24 children: React.ReactNode;25 radius?: string;26 inset?: string;27 transitionLength?: string;28 blur?: string;29 blurclassname?: string;30}3132export const BlurVignette: React.FC<BlurVignetteProps> = ({33 classname,34 children,35 radius = '24px',36 inset = '20px',37 transitionLength = '44px',38 blur = '6px',39}) => {40 return (41 <BlurVignetteContext.Provider value={{ radius, inset, transitionLength, blur }}>42 <div43 className={cn('relative aspect-square overflow-hidden', classname)}44 style={{ borderRadius: radius }}45 >46 {children}47 </div>48 </BlurVignetteContext.Provider>49 );50};51interface BlurVignetteArticleProps {52 children?: React.ReactNode;53 classname?: string;54}5556export const BlurVignetteArticle: React.FC<BlurVignetteArticleProps> = ({57 children,58 classname,59}) => {60 const { radius, inset, transitionLength, blur } = useBlurVignetteContext();6162 return (63 <div64 className={cn('blur-vignette bottom-0 left-0 w-full h-full z-1', classname)}65 style={66 {67 '--radius': radius,68 '--inset': inset,69 '--transition-length': transitionLength,70 '--blur': blur,71 } as React.CSSProperties72 }73 >74 {children}75 </div>76 );77};
Files it writes
More from ui-layouts
All 1 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| 3d-marquee3d-marquee | ui-layouts | Components | Free | no deps · 2 files | |
| accordionaccordion | ui-layouts | Components | Free | no deps | |
| align-slideralign-slider | ui-layouts | Components | Free | 6 deps · 2 files | |
| animal-imagemaskinganimal-imagemasking | ui-layouts | Components | Free | 1 dep | |
| animated-beamanimated-beam | ui-layouts | Components | Free | no deps | |
| animated-beam-bidirectionalanimated-beam-bidirectional | ui-layouts | Components | Free | no deps | |
| animated-beam-defaultanimated-beam-default | ui-layouts | Components | Free | no deps | |
| animated-beam-multiple-inputanimated-beam-multiple-input | ui-layouts | Components | Free | no deps |
