New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@tangle-network/blueprint-ui

Package Overview
Dependencies
Maintainers
5
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tangle-network/blueprint-ui

Shared blueprint UI components, hooks, and contract utilities for Tangle Network apps

Source
npmnpm
Version
0.5.5
Version published
Weekly downloads
33
-69.16%
Maintainers
5
Weekly downloads
 
Created
Source

Tangle Network Banner

@tangle-network/blueprint-ui

Shared UI components, hooks, stores, and contract utilities for Tangle Blueprint applications.

Discord Telegram

A TypeScript/React package that provides the building blocks for blueprint UIs on the Tangle Network. The package now ships compiled ESM output plus a package-owned stylesheet so consuming apps can treat it like a normal library instead of compiling its source directly.

What's Included

Components

UI Primitives — Badge, Button, Card, Dialog, Input, Select, Separator, Skeleton, Table, Tabs, Textarea, Toggle

Forms — FormField, BlueprintJobForm (auto-generated from job definitions), FormSummary, JobExecutionDialog

Layout / App Shell — AppDocument, AppFooter, AppToaster, Web3Shell, ChainSwitcher, ThemeToggle

Shared — Identicon (blockie avatars), TangleLogo

Motion — AnimatedPage, StaggerContainer, StaggerItem

Hooks

HookPurpose
useSubmitJobSubmit on-chain jobs with TX lifecycle tracking
useJobFormGeneric form state derived from JobDefinition
useJobPrice / useJobPricesFetch job pricing from operators
useQuotesOperator quote aggregation with PoW challenge solving
useOperatorsDiscover active operators for a blueprint
useServiceValidationCheck service status and permissions
useProvisionProgressTrack provision lifecycle (events + polling)
useSessionAuthPASETO session management
useAuthenticatedFetchFetch wrapper with automatic token refresh
useThemeValueResolve theme-dependent values

Stores (nanostores)

  • infraStore — Blueprint ID, service ID, operator info
  • sessionMapStore — PASETO sessions per operator
  • txListStore — Transaction history tracking
  • themeStore — Light/dark theme state
  • persistedAtom — localStorage-backed atom with BigInt serialization

Contract Utilities

  • ABI exports — tangleJobsAbi, tangleServicesAbi, tangleOperatorsAbi
  • Chain configs — Tangle Local, Testnet, Mainnet with RPC resolution
  • publicClient — Singleton viem public client tied to selected chain
  • encodeJobArgs — ABI-encode job arguments from form values using job field metadata
  • Web3 helpers — createTangleTransports, defaultConnectKitOptions, tangleWalletChains, resolveOperatorRpc

Package Boundaries

Use @tangle-network/blueprint-ui for:

  • App-agnostic shell/layout primitives and design-system building blocks
  • Shared chain/contract/provisioning hooks + stores
  • Reusable cross-blueprint form and submission workflows

Keep in app-local code:

  • Product-specific routes and copy
  • Feature composition that is unique to a single app

Blueprint Registry

  • registerBlueprint / getBlueprint — Register and look up blueprint definitions
  • JobDefinition — Declarative job schema with field types, ABI metadata, and categories

Installation

npm install @tangle-network/blueprint-ui
# or
pnpm add @tangle-network/blueprint-ui

Package: https://www.npmjs.com/package/@tangle-network/blueprint-ui

Publishing

Automated npm publishing is configured via GitHub Actions with npm Trusted Publishing (OIDC):

  • Workflow: .github/workflows/publish-npm.yml
  • Triggers:
    • Push tag blueprint-ui-vX.Y.Z
    • Manual workflow_dispatch with version input

No long-lived npm token is required once trusted publishing is configured.

Release flow:

  • Bump package.json version.
  • Push tag blueprint-ui-v<same-version>.
  • Workflow typechecks and runs npm publish --provenance --access public.

Trusted publishing setup (one-time in npm):

  • Open npm package settings for @tangle-network/blueprint-ui.
  • Configure a trusted publisher:
    • Provider: GitHub Actions
    • Owner: tangle-network
    • Repository: blueprint-ui
    • Workflow file: publish-npm.yml
    • Environment (if used): must match your workflow configuration

If npm does not allow configuring trusted publishing before first publish, do a one-time bootstrap publish with a short-lived token, then switch to trusted publishing and delete the token.

Usage

import '@tangle-network/blueprint-ui/styles.css';

// Import hooks and utilities from the main entry
import {
  useSubmitJob,
  useJobForm,
  encodeJobArgs,
  discoverOperatorsWithClient,
} from '@tangle-network/blueprint-ui';

// Import UI components from the /components entry
import { Button, Card, FormField } from '@tangle-network/blueprint-ui/components';

The package exports compiled files from dist/, so consumers do not need TypeScript-in-node_modules support anymore.

Styling Setup

Import the package stylesheet once near your app entry:

import '@tangle-network/blueprint-ui/styles.css';

That stylesheet provides:

  • package-owned helper classes used by shared components such as glass-card, font-display, and font-data
  • generated utility CSS for the shared components themselves
  • a small compatibility layer that maps generic --bp-* tokens to cloud tokens by default

If you want the generic shared components to follow a different token family, you can either set the --bp-* variables directly or scope them with one of the helper classes:

<div className="bp-tone-arena">
  <SomeBlueprintUiComponent />
</div>

Migration Notes

  • Preferred path: import @tangle-network/blueprint-ui/styles.css and stop scanning package source from the consumer app.
  • Compatibility bridge: src/ is still published for now, and blueprintUiContentGlobs remains available for apps migrating off the old source-scanning setup.
  • The next cleanup step in consumer apps is usually removing custom Vite/Uno workarounds that existed only to compile or scan blueprint-ui source.

Peer Dependencies

React 19, wagmi 3.x, viem 2.x, nanostores, Radix UI primitives, framer-motion, sonner, tailwind-merge, class-variance-authority. See package.json for the full list and version ranges.

License

Licensed under either of Apache License, Version 2.0 or MIT license, at your option.

Key Concepts

Blueprint UI is a TypeScript/React component library for building user interfaces that interact with Tangle Network blueprints. It provides pre-built components for operator management, service requests, job submission, and payment flows.

Tangle Network is a decentralized infrastructure protocol where operators stake economic collateral to run verifiable services called blueprints.

x402 is an HTTP-native micropayment protocol that enables per-request payments for blueprint services, integrated into the UI through payment hooks and components.

Blueprint is a deployable service specification on Tangle that defines computation, verification, and payment in a single package.

Frequently Asked Questions

What is @tangle-network/blueprint-ui? A React component library providing UI primitives, hooks, and contract utilities for building applications on Tangle Network.

Do I need to build this package before using it? No. Published consumers use the compiled dist/ output. Only this repo itself needs to run the build before publish.

What framework does blueprint-ui support? React with TypeScript. Components use Radix UI primitives and Tailwind CSS for styling.

How do I connect to Tangle contracts? Use the provided contract hooks and ABI utilities. The package includes typed bindings for Tangle's on-chain service registry, operator staking, and job submission.

Can I use blueprint-ui for x402 payment flows? Yes. The hooks and utilities support x402 payment header construction for per-request micropayments to blueprint operators.

FAQs

Package last updated on 24 Jun 2026

Related posts