Releases: alphanull/DomSmith
Releases · alphanull/DomSmith
Release list
New API for properly destroying plugins and some fixes
[2.2.0] - 2025-12-18
Added
- New global DomSmith method
DomSmith.destroyPlugins()for (final) plugin cleanup. Iterates over all plugins and callsdestroyPlugin()on them. - New plugin API
destroyPlugin()that can be used for plugin specific cleanup
Fixed
- Plugin
destroy()method should now be called correctly
MInor fixes
[2.1.1] - 2025-12-14
Fixed
- The
domSmithInputRangeplugin now respects the "disabled" state - Prevents (accidental) double unmount
- Updated dev dependencies
Introducing Plugins
[2.1.0] – 2025-07-24
Added
- Plugin System: New extensible plugin architecture with
registerPlugin()method - Enhanced Mount/Unmount System:
- Input Range Plugin: Touch-drag support for
<input type="range">elements - Select Wrapper Plugin: Automatic wrapping of
<select>elements - Legacy Property Support: Automatic migration from old property names
- New destroy() Method: Replaces deprecated
teardown()method
Changed
- Constructor API: Now accepts options object instead of just parent node
- Improved Event Handling: Better event handler management and cleanup
- Documentation: Updated JSDoc comments and inline documentation
Deprecated
teardown()method - Usedestroy()instead- Legacy property names:
tag,text,ref,nodes,events- Use_tag,_text,_ref,_nodes,_eventsinstead
Docs Update & npm
[2.0.1] – 2025-04-27
Added
- @alphanull/domsmith is on npm now!
Changed
- updated inline documentation
- updated README.md
🎉 First Public Release — v2.0.0
This is the first public release of DomSmith, a utility class that helps to dynamically generate a DOM tree based on a declarative configuration. It supports event handling, DOM node creation, manipulation, and removal. While this marks the first official release, DomSmith has been in internal use and steady development since 2016.
Features
- Declarative DOM Creation: Create complex DOM structures with simple JSON-like configurations.
- HTML & SVG Support: Automatically uses the correct namespace (including
<foreignObject>support). - Centralized Event Handling: Easily attach events and ensure proper cleanup.
- Direct References: Expose element references directly on the builder instance.
- Node Replacement & Removal: Dynamically update and remove parts of your DOM tree.
- Teardown: Fully clean up the DOM and internal state.