zeekayandHanzo Dev 81c99e4e47 ci: canonical pair — hanzo.yml + forge caller
github.com has no runner for hanzo-build-linux-amd64, so a caller under
.github/workflows is a gate that can never be scheduled. This is the ~7-line
caller on the plane that can (git.hanzo.ai git-runner fleet), pinned @v1.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-06 02:34:21 -07:00
2026-06-28 20:25:21 -07:00
2016-07-14 23:27:26 -07:00
2015-07-20 00:20:51 -07:00
2015-07-20 00:17:36 -07:00
2017-03-27 23:54:58 -05:00
2017-03-30 07:51:52 -05:00
2017-04-22 01:52:20 -05:00

form.js

Form.js

npm build dependencies downloads license chat

Automagic form validation and submission.

Install

npm install form.js

Or drop it inside a <form> and let it wire itself to the surrounding fields:

<form>
  <script src="https://unpkg.com/form.js" data-key="pk_live_…"></script>
  <input name="email">
  <button type="submit">Sign up</button>
</form>

Submission

Without a key, form.js is a thin controller around the surrounding form: it emits lifecycle events and hands control back to your page. Set a Hanzo publishable key on the script tag and it POSTs the serialized form to the Hanzo forms ingest instead:

POST https://api.hanzo.ai/v1/forms
Authorization: Bearer pk_live_…
Content-Type: application/json

{ "email": "[email protected]", "metadata": { "name": "Ada" } }

Script-tag options (all data-*):

attribute purpose
data-key publishable key (pk_live_… / pk_test_…)
data-token @hanzo/iam access token (takes precedence over key)
data-endpoint override the full submission URL
data-host override the API host (default https://api.hanzo.ai)

Events

window.Inform is an event emitter — listen with Inform.on / Inform.once:

event Inform.Events arguments
init-inform-script InitScript the <script> element
init-inform-form InitForm the <form> element
init-inform-inputs InitInputs array of input/select nodes
init-inform-submits InitSubmits array of submit buttons
inform-submit OnSubmit unmanaged: (done, event); managed: (payload, event)
inform-done OnDone the submit event, or the API response (managed)
inform-error OnError submission error (managed)

In unmanaged mode, call done() from your OnSubmit listener to let the native form submit proceed.

License

BSD

S
Description
🖍️ Automagic forms.
Readme BSD-3-Clause
265 KiB
Languages
CoffeeScript 55.1%
JavaScript 35.7%
HTML 9.2%