1.0.7 • Published 7 months ago
@ar-dacity/ardacity-text-pressure v1.0.7
ArDacity Text Pressure
A React component library that adds dynamic pressure effects to text using variable fonts.
Installation
npm install @ar-dacity/ardacity-text-pressureor
yarn add @ar-dacity/ardacity-text-pressureWhat Happens During Installation
When you install this package, it automatically:
- Creates a
components/ArDacityUidirectory in your project (if it doesn't exist) - Creates a
TextPressuresubdirectory - Copies the TextPressure component files into that directory:
TextPressure.jsxindex.js
Usage
After installation, you can import the component directly from your components directory:
import TextPressure from './components/ArDacityUi/TextPressure/TextPressure';
// Or simply:
import { TextPressure } from './components/ArDacityUi/TextPressure';
function App() {
return (
<div style={{position: 'relative', height: '300px'}}>
<TextPressure
text="Ardacity!"
flex={true}
alpha={false}
stroke={false}
width={true}
weight={true}
italic={true}
textColor="#ffffff"
strokeColor="#ff0000"
minFontSize={36}
/>
</div>
);
}Component Props
| Property | Type | Default | Description |
|---|---|---|---|
| text | string | "ardacity" | Text content that will be displayed and animated. |
| fontFamily | string | "ardacity VF" | Name of the variable font family. |
| fontUrl | string | (ardacity font URL) | URL for the variable font file (needed) |
| flex | boolean | true | Whether the characters are spaced using flex layout. |
| scale | boolean | false | If true, vertically scales the text to fill its container height. |
| alpha | boolean | false | If true, applies an opacity effect based on cursor distance. |
| stroke | boolean | false | If true, adds a stroke effect around characters. |
| width | boolean | true | If true, varies the variable-font "width" axis. |
| weight | boolean | true | If true, varies the variable-font "weight" axis. |
| italic | boolean | true | If true, varies the variable-font "italics" axis. |
| textColor | string | auto | The fill color of the text. Automatically adapts to light/dark themes when not specified. |
| strokeColor | string | "#FF0000" | The stroke color that will be applied to the text when "stroke" is set to true |
| strokeWidth | number | 2 | The width of the stroke in pixels |
| className | string | "" | Additional class for styling the <h1> wrapper. |
| minFontSize | number | 24 | Sets a minimum font-size to avoid overly tiny text on smaller screens. |
Important Notes
- Make sure the font you're using supports all the variable properties you enable.
- The component works best with variable fonts that support width, weight, and italic axes.
- For best results, place the TextPressure component in a container with a defined height.
- The default font is provided as an example and should not be used in commercial projects.
- If no textColor is specified, the component will automatically detect the theme and use black text on light backgrounds and white text on dark backgrounds.
Example: Customizing the Font
<TextPressure
text="Custom Font"
fontFamily="My Variable Font"
fontUrl="https://example.com/path/to/my-variable-font.woff2"
width={true}
weight={true}
italic={false}
textColor="#000000"
/>Example: Minimal Usage
You can also use the component with minimal configuration:
<TextPressure/>This will render the component with all default settings and automatic text color based on theme.
Compatibility
This package is compatible with:
- React 16.8.0 and above (requires Hooks)
- React with JSX
- Vite projects
- Next.js projects
- Create React App projects
License
MIT