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

@korala/react

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@korala/react

React components and hooks for Korala document signing integration

npmnpm
Version
1.1.0
Version published
Weekly downloads
108
-30.32%
Maintainers
1
Weekly downloads
 
Created
Source

@korala/react

React components and hooks for embedding Korala document signing in your application.

Installation

pnpm add @korala/react

Usage

KoralaSigner Component

The main component for embedding the signing experience:

import { KoralaSigner } from '@korala/react';

function SigningPage({ signingToken }: { signingToken: string }) {
  return (
    <KoralaSigner
      token={signingToken}
      signingUrl="https://sign.yourdomain.com" // Optional, defaults to env var
      className="w-full h-[600px]"
      onReady={() => console.log('Embed ready')}
      onLoaded={(data) => console.log('Document loaded:', data)}
      onViewed={(data) => console.log('Document viewed:', data)}
      onFieldFilled={(data) => console.log('Field filled:', data)}
      onSigned={(data) => console.log('Document signed:', data)}
      onDeclined={(data) => console.log('Document declined:', data)}
      onError={(data) => console.error('Error:', data)}
    />
  );
}

Props

PropTypeRequiredDescription
tokenstringYesThe signer's access token
signingUrlstringNoBase URL of the signing app. Defaults to NEXT_PUBLIC_KORALA_SIGNING_URL env var
classNamestringNoCSS class for the iframe
styleCSSPropertiesNoInline styles for the iframe
allowedOriginsstring[]NoRestrict postMessage origins
onReady(data) => voidNoCalled when embed is initialized
onLoaded(data) => voidNoCalled when document is loaded
onViewed(data) => voidNoCalled when signer views the document
onFieldFilled(data) => voidNoCalled when a field is filled
onSigned(data) => voidNoCalled when signing is complete
onDeclined(data) => voidNoCalled when signer declines
onError(data) => voidNoCalled on errors

useKoralaEvents Hook

Alternative to callbacks - listen to all events via a hook:

import { useKoralaEvents } from '@korala/react';

function SigningStatus() {
  const { status, events, lastEvent } = useKoralaEvents();

  return (
    <div>
      <p>Status: {status}</p>
      <p>Events received: {events.length}</p>
    </div>
  );
}

Returns:

  • status: 'loading' | 'ready' | 'loaded' | 'viewed' | 'signing' | 'signed' | 'declined' | 'error'
  • events: Array of all received events
  • lastEvent: Most recent event
  • clearEvents: Function to clear stored events

Event Data Types

LoadedEventData

{
  documentId: string;
  documentName: string;
  signerName: string;
  signerEmail: string;
  totalFields: number;
  requiredFields: number;
}

SignedEventData

{
  documentId: string;
  signerId: string;
  signedAt: string;
}

DeclinedEventData

{
  documentId: string;
  signerId: string;
  reason?: string;
  declinedAt: string;
}

ErrorEventData

{
  code: string;
  message: string;
  recoverable: boolean;
}

Environment Variables

Set in your .env.local:

NEXT_PUBLIC_KORALA_SIGNING_URL=http://localhost:3003

Keywords

korala

FAQs

Package last updated on 21 Aug 2026

Related posts