@buun_group/brutalist-ui
Version:
A brutalist-styled component library
60 lines (59 loc) • 1.46 kB
TypeScript
/**
* @module NoiseTexture
* @description A brutalist noise texture background component using SVG filters
*/
import React, { HTMLAttributes } from 'react';
/**
* Props for the NoiseTexture component
*/
export interface NoiseTextureProps extends HTMLAttributes<HTMLDivElement> {
/**
* The intensity of the noise
* @default 'medium'
*/
intensity?: 'subtle' | 'medium' | 'heavy' | 'extreme';
/**
* The type of noise pattern
* @default 'static'
*/
variant?: 'static' | 'grainy' | 'rough' | 'organic';
/**
* The blend mode for the noise
* @default 'multiply'
*/
blendMode?: 'multiply' | 'screen' | 'overlay' | 'soft-light';
/**
* The base color of the noise
* @default 'monochrome'
*/
color?: 'monochrome' | 'warm' | 'cool' | 'rainbow';
/**
* Whether to animate the noise
* @default false
*/
animated?: boolean;
/**
* The opacity of the noise layer
* @default 0.5
*/
opacity?: number;
/**
* Additional className
*/
className?: string;
}
/**
* NoiseTexture component for creating brutalist noise backgrounds
*
* @example
* ```tsx
* <NoiseTexture
* intensity="heavy"
* variant="grainy"
* color="warm"
* animated
* />
* ```
*/
export declare const NoiseTexture: React.ForwardRefExoticComponent<NoiseTextureProps & React.RefAttributes<HTMLDivElement>>;
export default NoiseTexture;