Angular
Use the framework-free SDK, @formstork/js, inside any Angular component.
npm install @formstork/js
In a component
import { Component } from "@angular/core";
import { submitToFormstork } from "@formstork/js";
@Component({
selector: "app-contact",
standalone: true,
template: `
<p *ngIf="sent">Thanks, your message was sent.</p>
<form *ngIf="!sent" (ngSubmit)="onSubmit($event)">
<input type="text" name="name" required />
<input type="email" name="email" required />
<textarea name="message" required></textarea>
<button [disabled]="submitting">
{{ submitting ? "Sending..." : "Send" }}
</button>
</form>
`,
})
export class ContactComponent {
submitting = false;
sent = false;
async onSubmit(e: Event) {
e.preventDefault();
this.submitting = true;
const obj: Record<string, unknown> = {};
new FormData(e.target as HTMLFormElement).forEach((v, k) => (obj[k] = v));
const res = await submitToFormstork("YOUR_ACCESS_KEY", obj);
this.submitting = false;
this.sent = res.success;
}
}
The SDK has no framework dependency, so it drops straight into any Angular version. For reactive state you can wrap it in a signal or a small service.