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

@shiftboolean/ai-lead-scoring

v1.0.11

Published

An UI library to show ai lead score with factors and history details

Readme

Ai Lead Scoring Coverage Branches Functions Lines

A lightweight React component library to display AI-based Lead Scores and their details in a flexible and customizable way.

This package helps you easily show lead scores, lead score facts, visualize score history, and even inject lead scores into existing HTML tables without rewriting your UI.


📦 Package Overview

@shiftboolean/ai-lead-scoring is a React-based npm package designed to show lead score data and details insights for leads.

It works out-of-the-box with minimal setup and also gives you full freedom to customize UI components according to your design system (MUI, custom CSS, etc.).


🚀 What Can This Package Do?

  • Show single lead score
  • Inject lead score column into any existing table
  • Display lead score details insights in dialog/sidebar
  • Support fully custom UI components/styles

📥 Installation

npm install @shiftboolean/ai-lead-scoring

yarn add @shiftboolean/ai-lead-scoring

pnpm add @shiftboolean/ai-lead-scoring

🧩 Components & Usage Details

Below are all available components with clear explanations and prop details.


AiLeadScoreProvider

AiLeadScoreProvider is a React context provider that handles API key validation, authentication state, and global configuration for the AI Lead Scoring system. It validates the provided API key on mount, manages loading and error states, and exposes authentication status, theme, messages, and configuration values to all child components via context.

Wrap your application (or required part of it) with this provider to securely access AI Lead Score features throughout your app.

Props Reference

| Prop Name | Type | Required | Description | | -------------- | ------------------- | -------- | -------------------------------------------------------------------------- | | apiKey | string | ✅ | API key used to authenticate and validate access to the AI Lead Score API. | | children | React.ReactNode | ✅ | React components that will consume the provider's context. | | theme | "light" \| "dark" | ❌ | UI theme for the provider. Defaults to "light" if not provided. | | primaryColor | string | ❌ | Primary theme color of the theme |

Example

 <StrictMode>
      <AiLeadScoreProvider
        apiKey="123"
        >
        <App />
      </AiLeadScoreProvider>
    </ThemeProvider>
  </StrictMode>

ShowSingleLeadScore

Displays the lead score for a single student.

Props Reference

| Prop Name | Type | Required | Description | | ----------------- | ------------------------------------------------------ | -------- | -------------------------------------- | | studentId | string | ✅ | Unique student ID | | CustomComponent | ComponentType<{ isLoading: boolean; score: number }> | ❌ | Custom UI for rendering score | | width | string \| number | ❌ | Width of the component | | height | string \| number | ❌ | Height of the component | | styles | CSSProperties | ❌ | Custom inline styles for the component |

Example

import { ShowSingleLeadScore } from "@shiftboolean/ai-lead-scoring";

export default function SingleScoreExample() {
  return <ShowSingleLeadScore studentId="STUDENT_123" />;
}

InjectLeadScoreTableColumn

Injects a Lead Score column into any existing HTML table using its ID.

Props Reference

| Prop Name | Type | Required | Description | | ---------------------- | ------------------------------------------------------ | -------- | -------------------------------------- | | tableId | string | ✅ | Target table ID | | studentIds | string[] | ✅ | Student IDs (row-wise) | | headerName | string | ✅ | Column header text | | columnInjectionIndex | number | ❌ | Injection Column position (>0) | | CustomComponent | ComponentType<{ isLoading: boolean; score: number }> | ❌ | Custom cell UI | | width | string \| number | ❌ | Width of the component | | height | string \| number | ❌ | Height of the component | | styles | CSSProperties | ❌ | Custom inline styles for the component |

Example

import { InjectLeadScoreTableColumn } from "@shiftboolean/ai-lead-scoring";

export default function InjectColumnExample() {
  return (
    <table id="student-table">
      <thead>
        <tr>
          <th>Name</th>
          <th>Email</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>John</td>
          <td>[email protected]</td>
        </tr>
        <tr>
          <td>Jane</td>
          <td>[email protected]</td>
        </tr>
      </tbody>

      <InjectLeadScoreTableColumn
        tableId="student-table"
        headerName="Lead Score"
        studentIds={["STUDENT_1", "STUDENT_2"]}
      />
    </table>
  );
}

LeadScoreDetailsDialog

Shows the lead score insights with history, recommendation, factors, risks, and overview in a dialog

Props Reference

| Prop Name | Type | Required | Description | | ----------------- | ---------------------------------------- | -------- | ----------------------------------------------------- | | DialogInitiator | ComponentType<{ onClick: () => void }> | ✅ | Component that triggers opening the dialog. | | studentId | string | ✅ | Unique student/lead ID. | | open | boolean | ✅ | Dialog opening state | | onClose | ()=> void | ✅ | Dialog closing function | | dialogTitle | string | ❌ | Optional title displayed on the dialog. | | leadStage | string | ❌ | Lead stage of the student | | studentName | string | ❌ | Name of the student | | dialogWidth | 'sm' \| 'md' \| 'lg' \| 'full' | ❌ | Width of the dialog. | | styles | React.CSSProperties | ❌ | Custom inline styles applied to the dialog container. |

Example

<LeadScoreDetailsDialog
  DialogInitiator={({ onClick }) => (
    <Button onClick={onClick}>Score Details</Button>
  )}
  studentId="2333443"
/>

LeadScoreDetailsSidebar

Shows the lead score insights with history, recommendation, factors, risks, and overview in a sidebar

Props

| Prop Name | Type | Required | Description | | ----------------- | ---------------------------------------- | -------- | ------------------------------------------------------ | | DialogInitiator | ComponentType<{ onClick: () => void }> | ✅ | Component that triggers opening the sidebar. | | studentId | string | ✅ | Unique student/lead ID. | | open | boolean | ✅ | Sidebar opening state | | onClose | ()=> void | ✅ | Sidebar closing function | | sidebarTitle | string | ❌ | Optional title displayed on the sidebar. | | sidebarWidth | 'sm' \| 'md' \| 'lg' \| 'full' | ❌ | Width of the sidebar. | | sidebarPosition | 'left' \| 'right' | ❌ | Position of the sidebar on the screen. | | styles | React.CSSProperties | ❌ | Custom inline styles applied to the sidebar container. | | leadStage | string | ❌ | Lead stage of the student | | studentName | string | ❌ | Name of the student |

Example

<LeadScoreDetailsSidebar
  DialogInitiator={({ onClick }) => (
    <Button onClick={onClick}>Score Details</Button>
  )}
  studentId="2333443"
/>

🧠 Summary

  • @shiftboolean/ai-lead-scoring helps you display lead scores and insights quickly
  • Works well with existing UI and tables
  • Fully customizable components and UI
  • Easy to integrate into any React app
  • Currently uses a static API key, which will be improved later