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

@mandaitor/react

v3.1.2

Published

Mandaitor — React UI components and hooks

Readme

@mandaitor/react

The official React UI component library and hooks for integrating Mandaitor delegation management into your application. This package provides drop-in, customizable components for creating, viewing, and managing delegation mandates.

Overview

Building trustworthy delegation interfaces requires careful attention to detail. Users must clearly understand what authority they are granting, to whom, and under what constraints. The @mandaitor/react package provides a suite of components designed specifically for this purpose, ensuring a consistent and secure user experience across all Mandaitor integrations.

Installation

Install the React package alongside the core SDK:

npm install @mandaitor/react @mandaitor/sdk

Initialization

Wrap your application (or the relevant part of your component tree) with the MandaitorProvider. This context provider initializes the underlying SDK client and makes it available to all child components.

import { MandaitorProvider } from "@mandaitor/react";

function App() {
  return (
    <MandaitorProvider
      apiKey={process.env.NEXT_PUBLIC_MANDAITOR_API_KEY}
      tenantId="tnt_your_tenant_id"
    >
      <YourApplication />
    </MandaitorProvider>
  );
}

Core Components

MandateCreator

The MandateCreator component provides a complete form for defining a new delegation mandate. It includes inputs for the delegate, allowed actions, target resources, and constraints.

import { MandateCreator } from "@mandaitor/react";

function DelegationPage() {
  return (
    <div className="delegation-container">
      <h2>Grant New Authority</h2>
      <MandateCreator 
        onSuccess={(mandate) => console.log("Created:", mandate.mandate_id)}
        defaultPrincipal={{ type: "NATURAL_PERSON", subject_id: "user:current" }}
      />
    </div>
  );
}

MandateViewer

The MandateViewer provides a read-only, human-readable display of an existing mandate, including its current status and defined scope.

import { MandateViewer } from "@mandaitor/react";

function MandateDetails({ id }) {
  return <MandateViewer mandateId={id} />;
}

MandateManager

For administrative interfaces, the MandateManager component provides a full CRUD interface. It lists all active and historical mandates and includes controls for revoking or suspending them.

import { MandateManager } from "@mandaitor/react";

function AdminDashboard() {
  return <MandateManager />;
}

Component Reference

| Component | Description | | :--- | :--- | | MandaitorProvider | Context provider that initializes the SDK client and manages authentication state | | MandateCreator | Interactive form for creating new delegation mandates | | MandateViewer | Read-only display of a single mandate with status indicators | | MandateManager | Full CRUD interface for managing mandates (list, revoke, suspend, reactivate) | | MandateVerifier | Interactive verification form for testing delegation claims (useful for developer tools) | | ApiKeyManager | API key display and management component for tenant administration | | WidgetConfigDashboard | Dashboard for configuring the embeddable consent widget branding and options | | MandateWizard | Step-by-step guided flow for complex mandate creation | | OverlayShell | Modal wrapper for presenting Mandaitor components over existing application content |

React Hooks

For custom UI implementations, the package exports several hooks that manage data fetching and state while letting you bring your own components.

| Hook | Description | | :--- | :--- | | useMandaitorSDK() | Access the underlying SDK client instance from the provider context | | useMandate(id) | Fetch and cache a single mandate, including loading and error states | | useMandates(options) | Fetch and cache a paginated list of mandates |

Theming and Customization

All components are built with Tailwind CSS and support standard class-based customization. You can override default styles by passing className props to the components.

License

Apache-2.0