A zero-dependency, lightweight JavaScript and TypeScript client library for embedding contact and inquiry forms connected to the Karidea webemailer backend service.
  • TypeScript 100%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-04 21:01:21 +03:00
.forgejo/workflows Migrate package registry and repository to public organization KarideaOy 2026-09-04 19:45:34 +03:00
demo Add initial client library implementation for @karidea/webemailer-client 2026-09-04 18:46:09 +03:00
docs Remove Backend Integration & Sibling Repositories section from developer guide [skip ci] 2026-09-04 21:01:21 +03:00
src Add initial client library implementation for @karidea/webemailer-client 2026-09-04 18:46:09 +03:00
tests Add initial client library implementation for @karidea/webemailer-client 2026-09-04 18:46:09 +03:00
.env.example Add initial client library implementation for @karidea/webemailer-client 2026-09-04 18:46:09 +03:00
.gitignore Update 2026-09-04 19:38:16 +03:00
.npmignore Add initial client library implementation for @karidea/webemailer-client 2026-09-04 18:46:09 +03:00
CONTRIBUTING.md Migrate package registry and repository to public organization KarideaOy 2026-09-04 19:45:34 +03:00
LICENSE Add initial client library implementation for @karidea/webemailer-client 2026-09-04 18:46:09 +03:00
package.json Migrate package registry and repository to public organization KarideaOy 2026-09-04 19:45:34 +03:00
README.md Remove Rollout & Adoption Strategy section from README.md [skip ci] 2026-09-04 20:57:20 +03:00
SECURITY.md Add initial client library implementation for @karidea/webemailer-client 2026-09-04 18:46:09 +03:00
tsconfig.json Add initial client library implementation for @karidea/webemailer-client 2026-09-04 18:46:09 +03:00
vite.config.ts Add initial client library implementation for @karidea/webemailer-client 2026-09-04 18:46:09 +03:00

@karidea/webemailer-client

A zero-dependency, lightweight JavaScript and TypeScript client library for embedding contact and inquiry forms connected to the Karidea webemailer backend service.

Designed with European digital sovereignty and privacy standards (GDPR-compliant), the library provides universal browser compatibility across modern module bundlers (Vite, Webpack, Rollup) and plain HTML pages using <script> tags.


Key Highlights

  • Zero Runtime Dependencies: Ultra-lightweight footprint with no external runtime libraries.
  • Universal Distribution: Compiles to ESM (webemailer-client.js), CommonJS (webemailer-client.cjs), and browser IIFE (webemailer-client.iife.js exposing window.KarideaWebemailer).
  • Resilient UI State Management: Automatically locks form controls during in-flight network requests and unconditionally restores button/textarea interactivity in a finally block upon completion, rate-limiting, or error.
  • Client-Side Validation & Length Checks: Pre-flight validation prevents empty submissions and oversized inputs (> 10,000 characters) without locking user controls or making unnecessary network roundtrips.
  • Structured Transmission Receipts: Delivers delivery confirmation messages and technical transmission headers (timestamp, origin metadata) directly to application callbacks.
  • Dual Transport Encoding: Supports both standard application/x-www-form-urlencoded and application/json payload formats.
  • Privacy by Design: Strictly zero telemetry, tracking beacons, or third-party client fingerprinting, adhering to GDPR standards.

Documentation & Guides

Detailed instructions are organized into dedicated guides for specific roles:

  • Customer Website Integration Guide: Complete instructions for website developers integrating the library into their websites, including npm package installation, .npmrc registry setup, bundler/plain HTML usage examples, full configuration reference (WebemailerOptions), and troubleshooting.

  • Developer & Maintainer Guide: Technical reference for developers maintaining the library, building distribution bundles, running Vitest unit tests, and understanding the multi-target Vite build pipeline and Forgejo CI/CD release workflow.

  • Contributing Guidelines: Code of conduct, secret hygiene requirements, coding conventions, and Pull Request checklist for community contributors.

  • Security Policy: Responsible disclosure instructions and confidentiality policy.


License

MIT License. Copyright (c) 2026 Karidea Oy.