JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 94
  • Score
    100M100P100Q95941F
  • License MIT

Free, animated React components built with TypeScript. Zero config, RSC-safe, sub-12 KB. Gradient button, popover, text morph and more.

Package Exports

  • @roy-ui/ui

Readme

@roy-ui/ui

Animated React components. Drop in, ship. TypeScript · RSC-safe · tree-shakable · under 12 KB.

npm version npm downloads bundle size types license

Roy UI components demo — gradient button, popover, text morph, made-by badge

Click the GIF for the full-quality video.


What is it?

@roy-ui/ui is an open-source React component library focused on animated, micro-interactive UI components — animated gradient buttons, accessible popovers, text-morph typing effects, tree navigation, and attribution badges — written in TypeScript, shipped as tree-shakable ESM, and fully compatible with React Server Components, Next.js 15 App Router, Vite, Remix, Astro, TanStack Start, and any modern React 18+ runtime.

  • Zero runtime config — install, import, render. No CLI, no copy-paste, no Tailwind plugin.
  • TypeScript-first — tree-shakable ESM with first-class .d.ts types and source maps.
  • Self-contained CSS — no Tailwind plugin, no PostCSS, no theme provider, no design tokens to wire up.
  • RSC-safe (React Server Components-safe) — components are correctly marked "use client" inside the bundle, so you can import directly from a Next.js App Router server component.
  • Tiny — the whole library is under 12 KB minified + gzipped, smaller than most single-component installs.
  • Animation built in — no Framer Motion / motion-react setup required.
  • Framework-agnostic — Next.js, Vite, Remix, Astro, TanStack Start, CRA, any ESM bundler.

Install

npm install @roy-ui/ui
# or
pnpm add @roy-ui/ui
# or
yarn add @roy-ui/ui
# or
bun add @roy-ui/ui

Requires React 18 or newer.

Quick start

import {
  GradientButton,
  Popover,
  TextMorph,
  MadeBy,
} from '@roy-ui/ui';

export default function Hero() {
  return (
    <main>
      <TextMorph value="Hello, world." />

      <GradientButton loading={false}>
        Get started
      </GradientButton>

      <Popover label="Help" title="Need a hand?" align="right" width="md">
        <p>Read the docs, ping the maintainer, or open an issue.</p>
      </Popover>

      <MadeBy
        name="Dibbayajyoti"
        href="https://github.com/DibbayajyotiRoy"
        position="bottom-right"
      />
    </main>
  );
}

Using the Next.js App Router? Import directly from a Server Component — the interactive bits inside @roy-ui/ui carry their own "use client" boundary.

Components

Component What it does
GradientButton Animated blue–cyan gradient button with a built-in spinner. Props: loading, loadingLabel, fullWidth.
Popover Accessible click-to-open popover with corner alignment (left/right) and width presets (sm/md/lg/number).
TextMorph Character-by-character text diff animation. Great for live counters, currency tickers, and status text.
MadeBy Floating "Made by ___" attribution badge with corner positioning.

Why use this? (shadcn / Aceternity / Magic UI / MUI / Radix comparison)

@roy-ui/ui shadcn/ui Aceternity UI / Magic UI Radix / Headless UI MUI
Single npm install (no CLI, no copy) Yes No No Yes Yes
Ships visual styles Yes Yes Yes No Yes
RSC-safe out of the box Yes Yes Manual Manual Manual
Tailwind required No Yes Yes No No
Framer Motion required No No Yes No No
Animation built in Yes Sometimes Yes No Sometimes
Sub-12 KB total bundle Yes n/a Per-component Varies No

If you want unstyled accessibility primitives, use Radix or React Aria. If you want Tailwind components you copy-paste, use shadcn/ui. If you want marketing-page hero effects, use Aceternity UI or Magic UI. If you want a small, drop-in set of animated React components with zero setup, use @roy-ui/ui.

License

MIT © Dibbayajyoti Roy


Topics: React component library · React UI library · React UI kit · TypeScript React components · Next.js 15 components · Next.js App Router · React Server Components · RSC-safe · animated React components · React animation library · micro-interactions · tree-shakable ESM · zero-config React UI · tiny React UI · sub-12 KB · gradient button · animated gradient button · React popover · text morph · typing animation · React tree navigation · React sidebar nav · made by attribution badge · headless UI · accessible · WAI-ARIA · a11y · shadcn alternative · shadcn/ui alternative · Aceternity UI alternative · Magic UI alternative · MUI alternative · Material UI alternative · Radix alternative · HeroUI alternative · Mantine alternative · Chakra UI alternative · DaisyUI alternative · Tailwind-friendly · Vite · Remix · Astro · TanStack Start · React 18 · React 19 · MIT · open source · free.