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

@deframe-sdk/components

v0.1.1

Published

Deframe SDK React component library

Readme

@deframe-sdk/components

Deframe SDK React component library built with TypeScript and Tailwind CSS.

Installation

npm install @deframe-sdk/components

Usage

Importing Styles

Important: You must import the CSS file for the components to render correctly with their styles.

In your main application file (e.g., _app.tsx, main.tsx, or index.tsx):

// Import the component styles
import '@deframe-sdk/components/styles.css'

Or in your main CSS file:

@import '@deframe-sdk/components/styles.css';

Importing Components

import { PrimaryButton, SecondaryButton, TertiaryButton } from '@deframe-sdk/components'

function App() {
  return (
    <div>
      <PrimaryButton onClick={() => console.log('clicked')}>
        Primary Action
      </PrimaryButton>

      <SecondaryButton disabled={false}>
        Secondary Action
      </SecondaryButton>

      <TertiaryButton type="submit">
        Submit
      </TertiaryButton>
    </div>
  )
}

Available Components

Buttons

  • PrimaryButton - Main call-to-action button
  • SecondaryButton - Secondary action button with outline
  • TertiaryButton - Tertiary action button with subtle styling
  • ActionButton - Action button variant
  • PercentageButton - Percentage selector button

Component Props

All button components share the same props interface:

interface ButtonProps {
  children: React.ReactNode;
  disabled?: boolean;
  className?: string;
  type?: 'button' | 'submit' | 'reset';
  onClick?: () => void;
}

Development

Running Storybook

npm run storybook

View components in Storybook at http://localhost:6006

Building the Library

npm run build:lib

This will generate:

  • CommonJS bundle (dist/index.js)
  • ES Module bundle (dist/index.mjs)
  • TypeScript declarations (dist/index.d.ts, dist/index.d.mts)
  • Compiled CSS with all styles (dist/styles.css)
  • Source maps

Project Structure

src/
├── index.ts                    # Main entry point, exports all components
├── stories/
│   └── buttons/
│       ├── PrimaryButton.tsx
│       ├── SecondaryButton.tsx
│       ├── TertiaryButton.tsx
│       ├── ActionButton.tsx
│       └── PercentageButton.tsx
└── styles/
    └── globals.css             # Tailwind CSS configuration

Publishing

The package is configured to automatically build before publishing:

# Bump version
npm version patch  # or minor, major

# Publish to npm
npm publish

The prepublishOnly script will automatically run build:lib before publishing.

Publishing to GitHub Packages

To publish to GitHub Packages instead of npm:

  1. Update package.json to add publishConfig:
{
  "publishConfig": {
    "registry": "https://npm.pkg.github.com"
  }
}
  1. Authenticate with GitHub Packages:
npm login --registry=https://npm.pkg.github.com
  1. Publish:
npm publish

Local Development

To test the library locally in another project:

# In this project
npm run build:lib
npm link

# In your consuming project
npm link @deframe-sdk/components

Peer Dependencies

This package requires:

  • React >= 18.0.0
  • React DOM >= 18.0.0

License

MIT