Event listeners
onSubmitChange
Runs callback when submit button is pressed or submit from api is called.
Payload:
{
  event: "submitting" | "submit-failed" | "submit-success"
}
Implementation:
new Imbox.Form("imbox-form", {
  events: {
    onSubmitChange: (event) => {
      console.log(event) // { "event": "submitting" /* "submit-failed" | "submit-success" */ }
    }
  }
})
onFetchingChange
Runs callback when form is fetched.
Payload:
{
  event: "fetching" | "fetch-failed" | "fetch-success"
}
Implementation:
new Imbox.Form("imbox-form", {
  events: {
    onFetchingChange: (event) => {
      console.log(event) // { "event": "fetching" // /* "fetch-failed" | "fetch-success" */ }
    }
  }
})
onValueChange
Runs callback when form value is changed.
Payload:
[{
  id: string
  value: string
}]
Implementation:
new Imbox.Form("imbox-form", {
  events: {
    onValueChange: (event) => {
      console.log(event) // [{ "id": "FORM_FIELD_ID", "value": "UPDATED_FORM_VALUE" }]
    }
  }
})
onSizeChange
Runs callback when form size changes, this event triggers dynamicHeight option.
Payload:
{
  "height": number
  "width": number
}
Implementation:
new Imbox.Form("imbox-form", {
  events: {
    onSizeChange: (event) => {
      console.log(event) // { "height": 100, "width": 100 }
    }
  }
})
onError