A React component library inspired by vintage split-flap display boards, like those classic railway station information boards. Built with TypeScript, GSAP animations, and modern React patterns.
npm install @adikris/react-slot
# or
yarn add @adikris/react-slot- 🎨 Customizable split-flap animations
- 🔄 Smooth GSAP-powered transitions
- 📱 Responsive design
- 🌗 Light/Dark/System theme support
- 🎛️ Configurable board and line properties
- 🔧 TypeScript support
import { FlipBoard } from '@adikris/react-slot';
function App() {
  return (
    <FlipBoard
      lines={[
        {
          text: "Hello World",
          color: "white",
          alignment: "left",
          length: 10
        }
      ]}
      theme="dark"
    />
  );
}| Prop | Type | Default | Description | 
|---|---|---|---|
| lines | LineConfig[] | [] | Array of line configurations | 
| boardBackground | string | 'hsl(0 0% 15%)' | Board background color | 
| gap | string | '0.5ch' | Gap between lines | 
| padding | string | '6px' | Board padding | 
| perspective | number | 1 | 3D perspective effect | 
| theme | 'light' | 'dark' | 'system' | 'dark' | Color theme | 
| Prop | Type | Default | Description | 
|---|---|---|---|
| text | string | '' | Text to display | 
| characters | string | 'a-z' | Available characters | 
| padAmount | number | 0 | Animation padding | 
| alignment | 'left' | 'right' | 'left' | Text alignment | 
| color | string | 'black' | Text color | 
| fontSize | string | '2.5rem' | Font size | 
| slotWidth | string | '1.5ch' | Character slot width | 
| length | number | 10 | Line length | 
| backgroundColor | string | 'hsl(0 0% 92%)' | Slot background | 
The library includes a demo component with a full UI for testing all features:
import { FlipBoardDemo } from '@adikris/react-slot';
function App() {
  return <FlipBoardDemo />;
}The demo provides controls for:
- Adding/removing lines
- Modifying text and characters
- Adjusting animations and padding
- Changing colors and themes
- Configuring layout properties
The component uses GSAP for smooth flip animations with configurable properties:
- Character-by-character flipping
- Configurable flip speed
- Customizable padding between flips
- 3D perspective effects
Supports all modern browsers with CSS transform and custom properties support.
MIT