JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 94
  • Score
    100M100P100Q95992F
  • 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

Free, animated React components built with TypeScript. Zero config, RSC-safe, sub-12 KB.

npm version npm downloads bundle size types license

▶ Watch the 30-second demo on GitHub


What is it?

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

  • Zero runtime config — install, import, render.
  • Tree-shakable ESM with first-class TypeScript types and source maps.
  • Self-contained CSS — no Tailwind plugin, no PostCSS, no theme provider.
  • RSC-safe — components are correctly marked "use client" inside the bundle.
  • Tiny — the whole library is under 12 KB minified + gzipped.

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?

@roy-ui/ui Radix / Headless UI shadcn/ui
Ships visual styles Yes No Yes (copy-paste)
One install (no CLI, no copy) Yes Yes No
RSC-safe out of the box Yes Manual Yes
Tailwind required No No Yes
Animation built in Yes No Sometimes

License

MIT © Dibbayajyoti Roy