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

@resulticks/trustsignal-wa-hsm

v0.25.0

Published

This package exposes two React components that you can drop into your app:

Readme

TrustSignal WebSDK (Library)

This package exposes two React components that you can drop into your app:

  • Dashboard: list and entry point
  • CreateTemplate: the template builder screen
  • TrustSignalProvider: wraps your app and provides the API key/config

The library ships its own compiled styles, so you only need to import the CSS once.

Installation

npm i @resulticks/trustsignal react react-dom

react and react-dom are peer dependencies and must be installed in the host app.

Quick Start (State-Based Toggling - No Routing Required)

The components can be toggled using React state without requiring any routing library. Simply manage the view state and pass callbacks to handle navigation between components.

import { useState } from "react";
import { TrustSignalProvider, Dashboard, CreateTemplate } from "@resulticks/trustsignal-wa-hsm";
import "@resulticks/trustsignal-wa-hsm/style.css";

type View = 'dashboard' | 'create' | 'edit';

export default function App() {
  const [currentView, setCurrentView] = useState<View>('dashboard');
  const [editId, setEditId] = useState<string | null>(null);

  const handleCreateTemplate = () => {
    setEditId(null);
    setCurrentView('create');
  };

  const handleEditTemplate = (id: string) => {
    setEditId(id);
    setCurrentView('edit');
  };

  const handleBackToDashboard = () => {
    setCurrentView('dashboard');
    setEditId(null);
  };

  return (
    <TrustSignalProvider
      apiKey="YOUR_API_KEY"
      pConfig={{
        baseUrl: process.env.RESUL_BASE_URL,
        departmentId: Number(process.env.RESUL_DEPARTMENT_ID),
        clientId: Number(process.env.RESUL_CLIENT_ID),
        createdBy: Number(process.env.RESUL_CREATED_BY),
        userId: Number(process.env.RESUL_USER_ID),
      }}
    >
      {currentView === 'dashboard' ? (
        <Dashboard
          onCreateTemplate={handleCreateTemplate}
          onEditTemplate={handleEditTemplate}
        />
      ) : (
        <CreateTemplate
          editId={editId || undefined}
          onCancel={handleBackToDashboard}
        />
      )}
    </TrustSignalProvider>
  );
}

Component Props

Dashboard

  • onCreateTemplate?: () => void - Callback when user clicks to create a new template
  • onEditTemplate?: (id: string) => void - Callback when user clicks to edit a template (receives template ID)

CreateTemplate

  • editId?: string - Optional template ID to edit. If provided, the component will load and edit that template.
  • onCancel?: () => void - Callback when user clicks the Back button to return to dashboard

Notes

  • Import the stylesheet once: import "@resulticks/trustsignal/style.css";
  • The provider writes the apiKey (and optional pConfig metadata) to localStorage('account') so all API calls work without additional wiring.
  • Pass pConfig if you need to override meta identifiers (departmentId, clientId, createdBy, userId) and/or baseUrl for the Resul API submission; updates propagate automatically.
  • Consider sourcing pConfig values from env variables (as in the example) to simplify environment-specific deployments.
  • No routing required: The components work with simple state toggling, making integration easier without needing react-router-dom.

Local Development / Building the Library (inside this repo)

# Build the library bundles to dist/
npm run build:lib

# (optional) link into another project while developing
# in this repo
npm pack # or use a local link strategy
# then in your host project
npm i ../path/to/@resulticks/trustsignal-*.tgz

The library exports:

import { TrustSignalProvider, Dashboard, CreateTemplate } from "@resulticks/trustsignal";

CSS is automatically included via the package metadata, but you can also explicitly import it early in your app entry to ensure styles load before first paint:

import "@resulticks/trustsignal/style.css";

That's it—drop in Dashboard and toggle to CreateTemplate when the user clicks create. No routing library needed!