SmarkForm
11 subscribers
2 photos
12 links
πŸ“’ SmarkForm Public Channel

Subscribe for:
πŸš€ New releases & features
πŸ’‘ Tips & tricks
πŸ—“ Project events

Join the conversation:
πŸ’¬ t.me/SmarkFormCommunity
πŸ’» github.com/bitifet/smarkform
Download Telegram
Channel created
Channel photo updated
Hello everybody!

I'm sorry: I thought this would have sent you an invitation only, but you got directly subscribed.

I appologize for the inconvenience.

Feel free to unsubscribe if you want.

I created this channel for announcements regarding my open source library SmarkForm.

More info at https://smarkform.bitifet.net

I promise I won't spam you so much (I don't even have enough time to do so 😜).

For those who have questions, suggestions, etc... I will open a public Telegram Group too (but won't subscribe anyone πŸ˜‰).

I'll post the link here as soon as it is ready.

Welcome to everybody who want to stay here and, again, my apologies to those who don't.

Cheers!
Public group link for feedback and everything:

https://t.me/SmarkFormCommunity
SmarkForm pinned a photo
πŸš€ SmarkForm 0.12.6 Released!

β€” That’s one small step for a user, one giant leap for SmarkForm β€”

A small UX improvement (forms now focus on click -anywhere-, just like regular fields) is the only visible change for users in this release.

But under the hood it comes with…

⚑️ Major improvements to testing infrastructure and coverage:
πŸ‘‰ Migrated the test suite to Playwright, covering Chromium, Firefox, and WebKit.
πŸ‘‰ Added smoke tests for all examples in the documentation.
πŸ‘‰ Co-located, feature-specific tests for each example are now possibleβ€”and enforced.

⚑️ Better documentation landing:
πŸ‘‰ Improved repository README file and the SmarkForm manual’s landing page.
πŸ‘‰ Fully revamped Contact and Contributing guidelines, removing duplication and inconsistencies.
πŸ‘‰ Created and documented a Telegram announcements channel and community chat.

πŸ”— Look how it looks now at https://smarkform.bitifet.net
πŸš€ SmarkForm 0.12.7 Released!

πŸͺ² Fixed pesky form auto-focus bug on render.
πŸ™ Apologies:
- I thought it was an issue with some JS in the examples in the Showcase section, not an actual bug of the library.
πŸš€ SmarkForm 0.12.9 released!

πŸ‘‰ More powerful label component type
β†’ Supports implicit association.
β†’ Smartly handle <legend> tags in fieldsets.

πŸ“– See the complete documentation at:
πŸ”— https://smarkform.bitifet.net/component_types/type_label

❓ If you don't already know SmarkForm, don't miss our Showcase page:
πŸ”— https://smarkform.bitifet.net/about/showcase

πŸ“’ Keep updated:
- Join our Telegram Channel: https://t.me/smarkform

πŸ€” Have questions, ideas, suggestions...?
- Join our Telegram community chat: https://t.me/SmarkFormCommunity
- Visit our GitHub brainstorm: https://github.com/bitifet/SmarkForm/discussions/14
Channel photo updated
πŸš€ SmarkForm 0.13.0 is out!

A lot of time has passed since the last SmarkForm release, but it has not been in vain.

SmarkForm 0.13.0 brings many small improvements that, together, make it a much more complete and mature solution.

From a deep revision of the documentation (now printer and dark mode friendly) that includes new FAQs and a simple but complete illustrated guide for end-users, to multiple improvements and bug fixes, passing through a new brand image with its new SVG logo; this new version represents an important step forward in the evolution of the library.

Carefully attending to every detail, from the workflows in the development process but especially putting emphasis on a user experience that is more intuitive and accessible than ever, SmarkForm 0.13.0 is a release that I'm very proud of and that I hope will be very useful for all of you.

---

πŸ€– AI-agent ready

SmarkForm's clean, declarative API makes it a natural fit for AI-assisted development. Describe a form in plain language to any capable AI assistant and get complete, working code immediately β€” no bespoke tooling, no framework setup.

To put this to the test, the new example on the documentation's landing page was generated 100% by an AI assistant, with no further tweaks. It works perfectly out of the box, which speaks for itself.

Check the dedicated AI and Agents resources section for prompts, patterns, and guidance on getting the best results: https://smarkform.bitifet.net/about/ai

---

⌨️ UX improvements

This release chases perfection in the day-to-day experience of using SmarkForm-powered forms:

- Better focus management: Lists now retain keyboard focus when they become empty, automatically moving it to the "Add item" button so users never lose their place.
- Default values: Any field, form, or list can declare a default value directly in its data-smark options β€” a clean, declarative way to set the starting state.
- New `reset` action: A dedicated reset trigger restores the form to its configured defaults. This is intentionally distinct from clear, which wipes to the empty state β€” because "restore defaults" and "wipe everything" are different user intents.
- `import()` updates the default: After loading data, reset brings you back to *that* loaded state, not only the HTML initialization state. "Load and Reset" patterns just work.
- Flexible list minimums: min_items: 0 (fully emptiable lists) and pre-populated defaults makes flexibility (allowing for 0 items) and usability (starting with 1, probably with handy defaults) to converge without friction.
- And a number of smaller behavioral tweaks and bug fixes throughout, always chasing that last bit of consistency.

---

πŸ›  DX improvements

The development experience has also seen significant improvements:

- Fixed workflow issues: The test-pick script gains "repeat last" and "test with all" options; the schedule example migrates to CSS grid to fix layout issues in narrow viewports.
- Visual DOM error nodes: Misconfigured components are now replaced in the DOM by a visible error badge with a short error code β€” clickable to re-log the full error to the console. No more silent failures that are hard to track down.
- Singleton option conflict detection: When a wrapper component and its inner field both declare options for the same key, a clear render error is raised immediately instead of silently ignoring one of them.

---

🎨 New SVG logo β€” generated with Pug!

SmarkForm now has a proper brand identity: 8 SVG logo variants covering light/dark backgrounds, compact/full sizes, and monochrome versions β€” all generated from a single parametric Pug template.

The approach is documented in an article on dev.to if you're curious about the technique:
πŸ“ https://dev.to/bitifet/generating-a-parametric-svg-logo-with-pug-8m0

All variants are available on jsDelivr CDN. The new Branding section in the docs has copy-paste badge snippets, placement guidelines, and a link pattern for SmarkForm-powered applications to include it if they like as a quality seal and feature hint for their users..

---
πŸ“– Documentation overhaul

The 0.13.0 documentation is the most complete yet:

- A new End-User Guide written for people filling in SmarkForm-powered forms (not just developers), covering keyboard navigation, hotkey discovery, and list management.
- Expanded FAQ with new entries for default values, reset, null exports, singletons, and the upcoming API interface.
- Examples throughout the docs now have pre-filled demo data so you can see what each form does at a glance.
- Printer-friendly page layouts β€” the print stylesheet is now built into the chapter template.
- Automatic light/dark theme β€” the docs site detects your OS color-scheme preference and switches automatically, no config needed.
- A Code of Conduct is now part of the project.

---

πŸ”— Documentation: https://smarkform.bitifet.net

Stay up to date by following the official Telegram channel: https://t.me/smarkform

For questions, ideas, and suggestions, join the conversation in the Telegram community chat or open a discussion in the GitHub brainstorm:
πŸ™ https://github.com/bitifet/SmarkForm

---

πŸ“¦ Additional resources

- NPM: https://www.npmjs.com/package/smarkform
- GitHub: https://github.com/bitifet/SmarkForm
- AI & Agents resources: https://smarkform.bitifet.net/about/ai
πŸš€ SmarkForm 0.13.1 is out!

An improvement and polish release on top of 0.13.0, delivering several bug fixes, mobile accessibility improvements, and the biggest documentation upgrade since launch.

The headline: every documentation example is now editable in the browser. Edit the HTML, CSS, or JS, hit Run, and see the result immediately β€” without leaving the page. No sandbox to set up, no local install needed. Just open the docs and start playing.

As a bonus, the native <form> element is now fully supported: standard enctypes do a real browser form submit under the hood (including mailto: URLs), while enctype="application/json" provides genuine JSON transport and enables PUT, PATCH, and other HTTP methods the standard doesn't support.

Highlights:
- ✏️ Editable examples β€” edit source code in the docs and run it live
- 🧾 Native `<form>` support β€” real browser submit for standard enctypes, JSON transport for PUT/PATCH
- πŸ› setDefault propagation fix β€” only the targeted field updates its default
- πŸ› Nested sub-form data loss fix
- πŸ“± Mobile accessibility improvements and responsive docs sidebar/TOC

πŸ“¦ npm install smarkform@0.13.1
πŸ”— Docs: https://smarkform.bitifet.net
πŸ“ Changelog: https://github.com/bitifet/SmarkForm/releases/tag/0.13.1
πŸš€ SmarkForm 0.13.2 is out!

If you've been seeing double-advance glitches when tapping "Next" on Android keyboards in form fields, this one's for you. We tracked down a Chromium engine bug, shipped a robust workaround, and filed an upstream report so it gets fixed at the source.

Key highlights:
- πŸ› Workaround for Chromium/Brave Android IME "Next" double-field-skip in form inputs.
- πŸ§ͺ Chromium mobile + Safari mobile now in the automated test matrix.
- ✨ Smart value coercion docs + responsive sampletabs iframe height.

πŸ“¦ npm: npm install smarkform@0.13.2
πŸ”— Docs: https://smarkform.bitifet.net
πŸ“ Changelog: https://github.com/bitifet/SmarkForm/releases/tag/0.13.2
πŸš€ SmarkForm 0.14.0 β€” Mixin Types β€” is out!

This release introduces Mixin Types: package behaviour, styles, and scripts directly inside
<template> elements for fully self-contained, reusable components. Also ships a cleaner
DOM-like event API and improved developer tooling.

Key highlights:
- 🧩 Mixin Types: <style>/<script> siblings in templates, applied per instance
- 🎯 New DOM-like event API: on() / onAll() / onLocal(), focusenter/focusleave
- πŸ›  Improved developer tooling (npm run dev auto-stop, Rollup bump)

πŸ“¦ npm: npm install smarkform@0.14.0
πŸ”— Docs: https://smarkform.bitifet.net
πŸ“ Changelog: https://github.com/bitifet/SmarkForm/releases/tag/0.14.0
πŸš€ SmarkForm 0.14.1 is out!

This patch release fixes a subtle but impactful bug: BeforeAction_import handlers that modified ev.data were silently ignored β€” the import action was reading the original data instead. It's now fixed.

Key highlights:
- πŸ› BeforeAction_import handlers can now alter imported data as expected.

πŸ“¦ npm: npm install smarkform@0.14.1
πŸ”— Docs: https://smarkform.bitifet.net
πŸ“ Changelog: https://github.com/bitifet/SmarkForm/releases/tag/0.14.1
πŸš€ SmarkForm 0.14.2 is out (2026-03-31).

Main feature: mixin parameterization β€” DOM snippet parameters for mixin types (data-for / data-id) for safer per-instance DOM wiring.

Also included:
- Integrated HTML validity checks into the docs smoke tests
- Fixed DOM-like event API to preserve native preventDefault() (and call it synchronously on keydown where needed)
- Security: nested <script> check runs after snippet parameter substitution
- Docs/showcase cleanups (invalid HTML + minor CSS alignment)
NOTE: For anyone who might be worried about the axios issue:, SmarkForm has no dependencies and axios is not in its dev-dependency chain.
πŸš€ SmarkForm 0.15.0 is out!

This release removes a feature β€” and your forms get better for it.

The early foldable decorator has been retired. Instead, SmarkForm now has first-class support for native HTML <details>/<summary> collapsible sections β€” with a full keyboard shortcut suite, automatic expand-on-focus, and zero extra API surface. Less library, richer forms.

Key highlights:
- ❌ foldable decorator removed from form and list types
- 🌿 Native <details>/<summary> collapsibles with keyboard navigation (Shift+Space, Alt+Enter, Shift+Enter symmetric backward nav…)
- πŸ”„ Auto-expand <details> ancestors when a new list item is added
- πŸ› Space key and multi-level Enter nav fixes

βž• Plus: updated docs, showcase examples, and dev-dependency bumps.

πŸ“¦ npm: npm install smarkform@0.15.0
πŸ”— Docs: https://smarkform.bitifet.net
πŸ“ Changelog: https://github.com/bitifet/SmarkForm/releases/tag/0.15.0
πŸš€ SmarkForm 0.16.0 is out!

This release hardens security defaults (external mixins and JSON encoding are now opt-in), introduces a live framework comparison page showing SmarkForm, React, and Vue side-by-side, and ships several UX improvements including smarter drag handles and Shift+Space fold/unfold inside summary inputs.

Key highlights:
- πŸ”’ Secure-by-default mixin options & enableJsonEncoding opt-in
- πŸ–Ό New "A Picture is Worth a Thousand Words" React/Vue comparison page
- 🎯 Dedicated drag handles for sortable lists + Shift+Space <summary> fix

πŸ“¦ npm: npm install smarkform@0.16.0
πŸ”— Docs: https://smarkform.bitifet.net
πŸ“ Changelog: https://github.com/bitifet/SmarkForm/releases/tag/0.16.0