@thi.ng/rdom
Version:
Lightweight, reactive, VDOM-less UI/DOM components with async lifecycle and @thi.ng/hiccup compatible
222 lines (133 loc) • 9.25 kB
Markdown
# Change Log
- **Last updated**: 2025-09-01T16:38:35Z
- **Generator**: [thi.ng/monopub](https://thi.ng/monopub)
All notable changes to this project will be documented in this file.
Only versions published since **2022-01-01** are listed here.
Please consult the Git history for older version information.
See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines.
**Note:** Unlisted _patch_ versions only involve non-code or otherwise excluded changes
and/or version bumps of transitive dependencies.
### [1.7.19](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.7.19) (2025-01-14)
#### ♻️ Refactoring
- use optional chaining & nullish coalescing ([c5a0a13](https://github.com/thi-ng/umbrella/commit/c5a0a13))
### [1.7.13](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.7.13) (2024-11-24)
#### ⏱ Performance improvements
- minor update `$el()`, avoid object spread for null attribs ([a970b79](https://github.com/thi-ng/umbrella/commit/a970b79))
### [1.7.5](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.7.5) (2024-10-03)
#### ⏱ Performance improvements
- internal update __setAttrib() ([15ed31d](https://github.com/thi-ng/umbrella/commit/15ed31d))
- only lookup property setters if value non-nullish
### [1.7.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.7.4) (2024-09-22)
#### 🩹 Bug fixes
- further fix __updateValueAttrib() ([378441c](https://github.com/thi-ng/umbrella/commit/378441c))
- also skip cursor pos update for readonly elements
- fix textarea handling
### [1.7.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.7.3) (2024-09-19)
#### 🩹 Bug fixes
- fix selection update in __updateValueAttrib() ([dada2de](https://github.com/thi-ng/umbrella/commit/dada2de))
- don't update selection (cursor pos) when updating disabled elements
- workaround for Safari focus issue
## [1.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.7.0) (2024-08-28)
#### 🚀 Features
- support setting CSS vars via $style() ([81169ee](https://github.com/thi-ng/umbrella/commit/81169ee))
## [1.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.6.0) (2024-08-10)
#### 🚀 Features
- add `$inputToggle()` HOF event handler ([50e0c29](https://github.com/thi-ng/umbrella/commit/50e0c29))
### [1.5.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.5.1) (2024-07-06)
#### 🩹 Bug fixes
- update $compile() handling of embedded functions ([#477](https://github.com/thi-ng/umbrella/issues/477)) ([5ac2831](https://github.com/thi-ng/umbrella/commit/5ac2831))
- add fn checks & branches to call embedded fn and compile its result
- update docs
## [1.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.5.0) (2024-07-03)
#### 🚀 Features
- add support for no-arg fns in child positions ([6327fd3](https://github.com/thi-ng/umbrella/commit/6327fd3))
- update `$tree()` to support no-arg functions in child positions
### [1.4.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.4.1) (2024-06-21)
#### 🩹 Bug fixes
- fix [#469](https://github.com/thi-ng/umbrella/issues/469), update setAttrib() `class` handling ([6cf8c56](https://github.com/thi-ng/umbrella/commit/6cf8c56))
- use `el.setAttribute()` to be compatible w/ SVG elements
- https://developer.mozilla.org/en-US/docs/Web/API/Element/className#notes
#### ♻️ Refactoring
- rename various rest args to be more semantically meaningful ([8088a56](https://github.com/thi-ng/umbrella/commit/8088a56))
- enforce uniform naming convention of internal functions ([56992b2](https://github.com/thi-ng/umbrella/commit/56992b2))
## [1.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.4.0) (2024-05-08)
#### 🚀 Features
- add rdom-klist example project, update readmes ([cd458ac](https://github.com/thi-ng/umbrella/commit/cd458ac))
- add rdom-klist example project, update readmes ([531437f](https://github.com/thi-ng/umbrella/commit/531437f))
### [1.3.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.3.3) (2024-04-26)
#### 🩹 Bug fixes
- update $compile() async-iterable attrib handling ([f977556](https://github.com/thi-ng/umbrella/commit/f977556))
## [1.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.3.0) (2024-04-20)
#### 🚀 Features
- add support for async iterables ([742e0db](https://github.com/thi-ng/umbrella/commit/742e0db))
- add $async() component wrapper
- add $asyncA() attribute wrapper
- update $compile() to support embedded `AsyncIterable` values
- update wrapper() to support reactive/async attribs ([96ea779](https://github.com/thi-ng/umbrella/commit/96ea779))
- internally switch from `$el()` => `$compile()`
#### ♻️ Refactoring
- update type usage ([56d5747](https://github.com/thi-ng/umbrella/commit/56d5747))
## [1.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.2.0) (2024-04-11)
#### 🚀 Features
- update setAttrib() property vs. attrib handling ([52cfe72](https://github.com/thi-ng/umbrella/commit/52cfe72))
- add/build cache of property setters
- update setAttrib() to prioritize setters and only fallback to attributes
## [1.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.1.0) (2024-02-10)
#### 🚀 Features
- add $toggleClasses() DOM util ([31d19b1](https://github.com/thi-ng/umbrella/commit/31d19b1))
# [1.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@1.0.0) (2024-01-23)
#### 🛑 Breaking changes
- remove scheduler, update IComponent signatures ([3728c9b](https://github.com/thi-ng/umbrella/commit/3728c9b))
- BREAKING CHANGE: remove scheduler, update IComponent and
various DOM update fn signatures
- remove scheduler support since never used (other than
default/dummy `NullScheduler`) and `RAFScheduler` logic is
better handled via `synRAF()` or similar (also see [#402](https://github.com/thi-ng/umbrella/issues/402))
- update IComponent.mount() signature to use `ParentNode
as type for `parent` arg, e.g. to support use w/ `ShadowRoot`
- update various DOM update fns with same parent arg type
- update all utility components/wrappers
## [0.14.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@0.14.0) (2023-12-28)
#### 🚀 Features
- add $lazy() component wrapper ([5ad3856](https://github.com/thi-ng/umbrella/commit/5ad3856))
### [0.13.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@0.13.4) (2023-12-11)
#### ♻️ Refactoring
- update boolean attrib handling in setAttrib() ([96a21ab](https://github.com/thi-ng/umbrella/commit/96a21ab))
### [0.13.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@0.13.3) (2023-12-09)
#### 🩹 Bug fixes
- fix updateValueAttrib() for some input types ([81facee](https://github.com/thi-ng/umbrella/commit/81facee))
## [0.13.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@0.13.0) (2023-11-12)
#### 🚀 Features
- add $wrapEl() DOM element component wrapper ([298e9a1](https://github.com/thi-ng/umbrella/commit/298e9a1))
- update $compile() to support existing DOM elements ([859521a](https://github.com/thi-ng/umbrella/commit/859521a))
- update $attribs() to return element ([1f82021](https://github.com/thi-ng/umbrella/commit/1f82021))
### [0.12.21](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@0.12.21) (2023-11-09)
#### ♻️ Refactoring
- update all tests (packages A-S) ([e3085e4](https://github.com/thi-ng/umbrella/commit/e3085e4))
### [0.12.13](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@0.12.13) (2023-10-18)
#### 🩹 Bug fixes
- update $text() to set el.textContent, simplify ([7cd6cc0](https://github.com/thi-ng/umbrella/commit/7cd6cc0))
## [0.12.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@0.12.0) (2023-08-22)
#### 🚀 Features
- update $text() handling of undefined values ([55faa71](https://github.com/thi-ng/umbrella/commit/55faa71))
## [0.11.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@0.11.0) (2023-04-08)
#### 🚀 Features
- add null check for $remove() ([db9d2a1](https://github.com/thi-ng/umbrella/commit/db9d2a1))
- add stream IDs for $list/$klist/$Sub/$SubA ([bfd4058](https://github.com/thi-ng/umbrella/commit/bfd4058))
- add $subWithID(), add IDs for various constructs ([404eacb](https://github.com/thi-ng/umbrella/commit/404eacb))
## [0.10.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@0.10.0) (2022-11-30)
#### 🚀 Features
- add DOM comment support ([#367](https://github.com/thi-ng/umbrella/issues/367)), other refactorings ([3fd5f8e](https://github.com/thi-ng/umbrella/commit/3fd5f8e))
- add $comment(), isComment()
- add Component.$comment() syntax sugar
- add comment check/branch in $tree()
- update args for $addChild(), $remove(), $moveTo()
- update $text(), $html() to support SVG elements
- add doc strings
## [0.9.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@0.9.0) (2022-07-12)
#### 🚀 Features
- update $input() generics ([6be320a](https://github.com/thi-ng/umbrella/commit/6be320a))
- allow any string-derived stream types
### [0.8.7](https://github.com/thi-ng/umbrella/tree/@thi.ng/rdom@0.8.7) (2022-04-07)
#### ♻️ Refactoring
- replace deprecated .substr() w/ .substring() ([0710509](https://github.com/thi-ng/umbrella/commit/0710509))