npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@itsect3r/bortx

v0.1.2

Published

Open-source CSS border and text animation library

Readme

Bortx

Open-source CSS border & text animation library — pure CSS, framework-agnostic, 0 dependencies.

Quick Start

npm install @itsect3r/bortx
# or
bun add @itsect3r/bortx
# or
pnpm add @itsect3r/bortx
// Import all effects (borders + text + helpers)
import '@itsect3r/bortx';

// Or pick what you need
import '@itsect3r/bortx/borders';
import '@itsect3r/bortx/text';
<!-- Border effect -->
<div class="border-effect border-rainbow">Hover me</div>

<!-- Text effect (needs .is-animated triggered by JS) -->
<h1 class="text-effect text-typewriter is-animated">Hello, World!</h1>

Features

Border Effects (11)

.border-rainbow .border-light-trail .border-pulse .border-gradient .border-shimmer .border-dots .border-dual-spin .border-neon .border-ripple .border-corner-highlight .border-dash-chase

Modifiers: .border-hover-only .border-slow .border-fast .border-reverse .border-glow .border-thick

Text Effects (3 + variants)

.text-typewriter — typing animation (.text-typewriter-loop .text-typewriter-no-cursor) .text-glitch — digital distortion (.text-glitch-intense .text-glitch-subtle) .text-reveal-up .text-reveal-down .text-reveal-left .text-reveal-right

Modifiers: .text-glow .text-glow-pulse .text-glow-intense .text-gradient .text-gradient-animated .text-gradient-rainbow .text-slow .text-fast .text-delay-1…5 .text-shadow-depth

Color Presets (24)

10 gradient presets, 6 glitch presets, 8 glow presets — all as drop-in CSS classes (.text-colors-sunset, .text-glitch-colors-matrix, .text-glow-purple, etc.)

React Hooks

import { useAnimateOnScroll } from '@itsect3r/bortx/react';

function Heading() {
  const { ref } = useAnimateOnScroll({ threshold: 0.2 });
  return (
    <h1 ref={ref} className="text-effect text-reveal-up">
      Full Stack Developer
    </h1>
  );
}

Vanilla JS

import { initTextAnimations } from '@itsect3r/bortx/text';
initTextAnimations({ threshold: 0.2 }); // auto-triggers on scroll

JS Config Helpers

import { applyTextConfig, applyColorPreset } from '@itsect3r/bortx/text';

const el = document.querySelector('.text-effect')!;
applyTextConfig(el, { chars: 12, speed: '3s', gradient: ['#ff0', '#f0f'] });
applyColorPreset(el, 'text-colors-cyberpunk');

Import Map

| Path | What you get | | -------------------------------- | ------------------------------------------------- | | @itsect3r/bortx | CSS (borders + text) + vanilla JS helpers + types | | @itsect3r/bortx/borders | Border effects + modifiers CSS | | @itsect3r/bortx/borders/styles | Border base CSS only | | @itsect3r/bortx/text | Text effects + modifiers CSS + JS helpers + types | | @itsect3r/bortx/text/styles | Text base CSS only | | @itsect3r/bortx/react | React hooks |

Framework Support

| Framework | Support | | ---------------------- | -------------------------------------------------------------------- | | Plain HTML / CSS | First-class — use vanilla JS trigger or manual .is-animated toggle | | React | First-class via useAnimateOnScroll / useAnimateOnScrollMany | | Vue / Svelte / etc | Use vanilla JS initTextAnimations() or manual class toggle | | Tailwind CSS | Fully compatible — CSS classes work alongside Tailwind utilities |

Browser Support

CSS @property is used for smooth interpolation — Chromium (Chrome, Edge, Opera, Brave). Firefox and Safari degrade gracefully (animations jump instead of interpolate). Cross-browser alt effects are planned for a future release.

Documentation

Full docs at bortx.ai — includes getting started guide, effect reference, live demos, and interactive sandbox.

Contributing

See CONTRIBUTING.md for local dev setup, coding conventions, and PR process.

License

MIT © Bortx Contributors