Skip to content

Releases: HRADigital/smartforms

1.2.5

Choose a tag to compare

@hradigital-release hradigital-release released this 20 Aug 14:04

1.2.5 (2026-08-20)

1.2.4

Choose a tag to compare

@hradigital-release hradigital-release released this 20 Aug 13:37

1.2.4 (2026-08-20)

1.2.3

Choose a tag to compare

@hradigital-release hradigital-release released this 20 Aug 12:50

1.2.3 (2026-08-20)

1.2.2

Choose a tag to compare

@hradigital-release hradigital-release released this 18 Aug 15:05

1.2.2 (2026-08-18)

1.2.1

Choose a tag to compare

@hradigital-release hradigital-release released this 18 Aug 14:56

1.2.1 (2026-08-18)

1.2.0

Choose a tag to compare

@HRADigital HRADigital released this 16 Aug 23:38

Fixed

  • NumberInput step validation no longer rejects legal decimal values. value % step left a floating point residue for any step binary cannot hold exactly, so a value such as 41.7015 against step="0.0000001" was marked invalid; the same residue carried the sign of the value, so negative values were never checked at all. The count of steps from the step base is now compared against a whole number within a magnitude-aware tolerance, and the base is taken from min where one is declared, as the HTML step base is defined.

Full Changelog: 1.1.0...1.2.0

1.1.0

Choose a tag to compare

@HRADigital HRADigital released this 13 Jul 17:10

Added

  • TextAreaInput character limit enforcement (data-limit) and an optional live counter guide (data-guide) that warns when nearing the limit.
  • SmartFormList.resource() returning the list's data-resource attribute, mirroring SmartForm.resource() so TaskExecutor can read the resource from either form body.

Fixed

  • Documentation: README.md now lists EmailInput and the input[type=password] -> TextInput mapping, documents the edit, destroy, and back toolbar roles, and corrects the per-state button-enable matrix and the form-level state list.
  • types/index.d.ts rewritten to match the actual public API.
  • CONTRIBUTING.md no longer references a non-existent .nvmrc.

1.0.0

Choose a tag to compare

@HRADigital HRADigital released this 29 Jun 17:00

First stable release. SmartForms is a zero-dependency, framework-free client-side manager for static HTML forms: it tracks per-field state, drives toolbar actions from that state, and submits via configurable HTTP tasks. From this release on, the public API follows Semantic Versioning.

Highlights

  • State-aware fields â�� every input is tracked as new, unchanged, changed, invalid, or empty, and the form aggregates a single state that UI reacts to.
  • Toolbar driven by state â�� edit, save, cancel, destroy, back, and toggle roles enable/disable automatically per the current form state.
  • HTTP submission via TaskExecutor â�� synchronous and asynchronous form submissions with verb/mode resolution, Laravel resource-controller defaults, and CSRF support.
  • Zero dependencies, any setup â�� ships as ESM, CJS, and UMD with TypeScript definitions; drop in via autoInit() or instantiate classes directly.

Components

  • Forms: SmartForm, SmartFormList, SmartFormRecord
  • Inputs: TextInput, EmailInput, UrlInput, NumberInput, DateTimeInput, ColorInput, FileInput, SelectInput, TextAreaInput, CheckBoxInput, RadioInput, DynamicTableInput
  • Toolbar: Toolbar, Button, AdminForm
  • Constants: Roles, State, Tasks
  • HTTP: TaskExecutor
  • Entry point: autoInit(), plus data-track-form trackers and a toggleable debug logger

Changes since 0.1.1

Added

  • SmartFormList.resource() returning the list's data-resource attribute, mirroring SmartForm.resource(), so TaskExecutor can resolve the resource from either a form or a list body.

Fixed

  • README.md now documents EmailInput, the input[type=password] â�� TextInput mapping, the edit / destroy / back toolbar roles, and the corrected per-state button-enable matrix.
  • types/index.d.ts rewritten to match the real public API (dropped the non-existent reordered state and LINK / REORDER roles; added EmailInput, Tasks, TaskExecutor).
  • CONTRIBUTING.md no longer references a non-existent .nvmrc.

Install

npm install @hradigital/smartforms

Full Changelog: https://github.com/HRADigital/smartforms/commits/1.0.0