@thi.ng/hdom 9.4.59 → 9.4.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -546
- package/README.md +1 -1
- package/package.json +12 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
-
- **Last updated**: 2025-01-
|
|
3
|
+
- **Last updated**: 2025-01-29T16:25:48Z
|
|
4
4
|
- **Generator**: [thi.ng/monopub](https://thi.ng/monopub)
|
|
5
5
|
|
|
6
6
|
All notable changes to this project will be documented in this file.
|
|
7
|
+
Only versions published since **2022-01-01** are listed here.
|
|
8
|
+
Please consult the Git history for older version information.
|
|
7
9
|
See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines.
|
|
8
10
|
|
|
9
11
|
**Note:** Unlisted _patch_ versions only involve non-code or otherwise excluded changes
|
|
@@ -59,548 +61,3 @@ and/or version bumps of transitive dependencies.
|
|
|
59
61
|
#### ♻️ Refactoring
|
|
60
62
|
|
|
61
63
|
- replace deprecated .substr() w/ .substring() ([0710509](https://github.com/thi-ng/umbrella/commit/0710509))
|
|
62
|
-
|
|
63
|
-
## [9.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@9.1.0) (2021-11-17)
|
|
64
|
-
|
|
65
|
-
#### 🚀 Features
|
|
66
|
-
|
|
67
|
-
- Using workspaces for local tools ([bf7a404](https://github.com/thi-ng/umbrella/commit/bf7a404))
|
|
68
|
-
Improving the overall build ergonomics
|
|
69
|
-
- introduced a tools workspaces
|
|
70
|
-
- imported it in all needed packages/examples
|
|
71
|
-
- inclusive project root
|
|
72
|
-
|
|
73
|
-
#### ♻️ Refactoring
|
|
74
|
-
|
|
75
|
-
- testrunner to binary ([4ebbbb2](https://github.com/thi-ng/umbrella/commit/4ebbbb2))
|
|
76
|
-
this commit reverts (partly) changes made in:
|
|
77
|
-
ef346d7a8753590dc9094108a3d861a8dbd5dd2c
|
|
78
|
-
overall purpose is better testament ergonomics:
|
|
79
|
-
instead of having to pass NODE_OPTIONS with every invocation
|
|
80
|
-
having a binary to handle this for us.
|
|
81
|
-
|
|
82
|
-
### [9.0.8](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@9.0.8) (2021-11-10)
|
|
83
|
-
|
|
84
|
-
#### ♻️ Refactoring
|
|
85
|
-
|
|
86
|
-
- update all countdown loops ([a5f374b](https://github.com/thi-ng/umbrella/commit/a5f374b))
|
|
87
|
-
|
|
88
|
-
### [9.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@9.0.1) (2021-10-13)
|
|
89
|
-
|
|
90
|
-
#### ♻️ Refactoring
|
|
91
|
-
|
|
92
|
-
- update imports in all pkgs ([5fa2b6f](https://github.com/thi-ng/umbrella/commit/5fa2b6f))
|
|
93
|
-
- add .js suffix for all relative imports
|
|
94
|
-
- update imports in all tests/pkgs ([effd591](https://github.com/thi-ng/umbrella/commit/effd591))
|
|
95
|
-
|
|
96
|
-
# [9.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@9.0.0) (2021-10-12)
|
|
97
|
-
|
|
98
|
-
#### 🛑 Breaking changes
|
|
99
|
-
|
|
100
|
-
- major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea))
|
|
101
|
-
- BREAKING CHANGE: discontinue CommonJS & UMD versions
|
|
102
|
-
- only ESM modules will be published from now on
|
|
103
|
-
- CJS obsolete due to ESM support in recent versions of node:
|
|
104
|
-
- i.e. launch NodeJS via:
|
|
105
|
-
- `node --experimental-specifier-resolution=node --experimental-repl-await`
|
|
106
|
-
- in the node REPL use `await import(...)` instead of `require()`
|
|
107
|
-
- UMD obsolete due to widespread browser support for ESM
|
|
108
|
-
Also:
|
|
109
|
-
- normalize/restructure/reorg all package.json files
|
|
110
|
-
- cleanup all build scripts, remove obsolete
|
|
111
|
-
- switch from mocha to [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament) for all tests
|
|
112
|
-
|
|
113
|
-
#### ♻️ Refactoring
|
|
114
|
-
|
|
115
|
-
- update all tests in _all_ pkgs ([8b582bc](https://github.com/thi-ng/umbrella/commit/8b582bc))
|
|
116
|
-
- update all to use [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament)
|
|
117
|
-
- update imports ([138571a](https://github.com/thi-ng/umbrella/commit/138571a))
|
|
118
|
-
- update deps & imports in various pkgs ([e1cf29e](https://github.com/thi-ng/umbrella/commit/e1cf29e))
|
|
119
|
-
- largely related to recent updates/restructuring of these packages:
|
|
120
|
-
- api
|
|
121
|
-
- defmulti
|
|
122
|
-
- errors
|
|
123
|
-
- logger
|
|
124
|
-
- minor pkg restructure ([61a6592](https://github.com/thi-ng/umbrella/commit/61a6592))
|
|
125
|
-
|
|
126
|
-
### [8.2.14](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@8.2.14) (2020-12-22)
|
|
127
|
-
|
|
128
|
-
#### ♻️ Refactoring
|
|
129
|
-
|
|
130
|
-
- update DiffMode handling ([b8f7d5c](https://github.com/thi-ng/umbrella/commit/b8f7d5c))
|
|
131
|
-
|
|
132
|
-
### [8.2.13](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@8.2.13) (2020-12-07)
|
|
133
|
-
|
|
134
|
-
#### ♻️ Refactoring
|
|
135
|
-
|
|
136
|
-
- update type-only imports in various tests/pkgs ([3fd9c24](https://github.com/thi-ng/umbrella/commit/3fd9c24))
|
|
137
|
-
|
|
138
|
-
### [8.2.10](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@8.2.10) (2020-09-22)
|
|
139
|
-
|
|
140
|
-
#### ♻️ Refactoring
|
|
141
|
-
|
|
142
|
-
- simplify normalizeElement() ([b310c61](https://github.com/thi-ng/umbrella/commit/b310c61))
|
|
143
|
-
- update normalizeTree() ([cda40f1](https://github.com/thi-ng/umbrella/commit/cda40f1))
|
|
144
|
-
- extract normalizeChildren()
|
|
145
|
-
|
|
146
|
-
### [8.2.9](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@8.2.9) (2020-09-13)
|
|
147
|
-
|
|
148
|
-
#### ♻️ Refactoring
|
|
149
|
-
|
|
150
|
-
- update imports ([e95ff1e](https://github.com/thi-ng/umbrella/commit/e95ff1e))
|
|
151
|
-
|
|
152
|
-
## [8.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@8.2.0) (2020-07-02)
|
|
153
|
-
|
|
154
|
-
#### 🚀 Features
|
|
155
|
-
|
|
156
|
-
- update deps, update xmlns import ([99fbae7](https://github.com/thi-ng/umbrella/commit/99fbae7))
|
|
157
|
-
- add RDFa `prefix` attrib support, update xmlns imports ([f0e7460](https://github.com/thi-ng/umbrella/commit/f0e7460))
|
|
158
|
-
|
|
159
|
-
## [8.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@8.1.0) (2020-06-28)
|
|
160
|
-
|
|
161
|
-
#### 🚀 Features
|
|
162
|
-
|
|
163
|
-
- add support `class` attrib object vals ([074985a](https://github.com/thi-ng/umbrella/commit/074985a))
|
|
164
|
-
- update normalizeElement() class merge logic
|
|
165
|
-
- add support for event listener strings ([db8d350](https://github.com/thi-ng/umbrella/commit/db8d350))
|
|
166
|
-
|
|
167
|
-
### [8.0.18](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@8.0.18) (2020-04-06)
|
|
168
|
-
|
|
169
|
-
#### ⏱ Performance improvements
|
|
170
|
-
|
|
171
|
-
- update event attrib checks ([ab54d3c](https://github.com/thi-ng/umbrella/commit/ab54d3c))
|
|
172
|
-
- replace .indexOf("on") with array-style accessor checks
|
|
173
|
-
- benchmarking shows ~30% improvement
|
|
174
|
-
|
|
175
|
-
### [8.0.11](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@8.0.11) (2020-02-25)
|
|
176
|
-
|
|
177
|
-
#### ♻️ Refactoring
|
|
178
|
-
|
|
179
|
-
- update imports, internal restruct ([9f31a03](https://github.com/thi-ng/umbrella/commit/9f31a03))
|
|
180
|
-
|
|
181
|
-
### [8.0.7](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@8.0.7) (2019-11-09)
|
|
182
|
-
|
|
183
|
-
#### 🩹 Bug fixes
|
|
184
|
-
|
|
185
|
-
- fix [#72](https://github.com/thi-ng/umbrella/issues/72), update __skip diff handling & HDOMImplementation ([0071df3](https://github.com/thi-ng/umbrella/commit/0071df3))
|
|
186
|
-
- when a previously skipped element is re-enabled, replace entire sub-tree,
|
|
187
|
-
but do NOT call lifecycle `init()` methods
|
|
188
|
-
- add init arg/flag to HDOMImplementation.createTree() / replaceChild()
|
|
189
|
-
- update DEFAULT_IMPL
|
|
190
|
-
- update normalizeElement()
|
|
191
|
-
|
|
192
|
-
### [8.0.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@8.0.6) (2019-09-23)
|
|
193
|
-
|
|
194
|
-
#### 🩹 Bug fixes
|
|
195
|
-
|
|
196
|
-
- fix [#133](https://github.com/thi-ng/umbrella/issues/133) boolean attrib handling, add more element properties ([c4bf94f](https://github.com/thi-ng/umbrella/commit/c4bf94f))
|
|
197
|
-
|
|
198
|
-
### [8.0.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@8.0.4) (2019-08-21)
|
|
199
|
-
|
|
200
|
-
#### ♻️ Refactoring
|
|
201
|
-
|
|
202
|
-
- refactor/simplify diff & dom impls ([20de716](https://github.com/thi-ng/umbrella/commit/20de716))
|
|
203
|
-
- extract diffDeleted()/diffAdded() from diffTree()
|
|
204
|
-
- extract incOffsets()/decOffsets() from diffTree()
|
|
205
|
-
- update diffAttributes()
|
|
206
|
-
- extract maybeInitElement() from createTree()/hydrateTree()
|
|
207
|
-
- extract addChild(), update createElement/createTextElement()
|
|
208
|
-
- update various conditionals
|
|
209
|
-
- update to use new hiccup regex names ([0236ff6](https://github.com/thi-ng/umbrella/commit/0236ff6))
|
|
210
|
-
|
|
211
|
-
# [8.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@8.0.0) (2019-07-07)
|
|
212
|
-
|
|
213
|
-
#### 🛑 Breaking changes
|
|
214
|
-
|
|
215
|
-
- address TS strictNullChecks flag ([d83600a](https://github.com/thi-ng/umbrella/commit/d83600a))
|
|
216
|
-
- BREAKING CHANGE: all HDOMImplementation methods now mandatory, update return types
|
|
217
|
-
|
|
218
|
-
#### 🚀 Features
|
|
219
|
-
|
|
220
|
-
- enable TS strict compiler flags (refactor) ([7f093b9](https://github.com/thi-ng/umbrella/commit/7f093b9))
|
|
221
|
-
- update return types for HDOMImplementation methods
|
|
222
|
-
|
|
223
|
-
### [7.2.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@7.2.6) (2019-04-24)
|
|
224
|
-
|
|
225
|
-
#### ♻️ Refactoring
|
|
226
|
-
|
|
227
|
-
- replace DEBUG w/ LOGGER ([a37252a](https://github.com/thi-ng/umbrella/commit/a37252a))
|
|
228
|
-
|
|
229
|
-
### [7.2.5](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@7.2.5) (2019-04-17)
|
|
230
|
-
|
|
231
|
-
#### 🩹 Bug fixes
|
|
232
|
-
|
|
233
|
-
- update removeAttribs ([b17fb17](https://github.com/thi-ng/umbrella/commit/b17fb17))
|
|
234
|
-
- check for attribute first, else treat as element property
|
|
235
|
-
|
|
236
|
-
### [7.2.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@7.2.4) (2019-04-11)
|
|
237
|
-
|
|
238
|
-
#### ⏱ Performance improvements
|
|
239
|
-
|
|
240
|
-
- minor update diffTree() ([f2efaa5](https://github.com/thi-ng/umbrella/commit/f2efaa5))
|
|
241
|
-
- re-order diff state checks to prioritize unchanges results
|
|
242
|
-
|
|
243
|
-
### [7.2.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@7.2.3) (2019-04-05)
|
|
244
|
-
|
|
245
|
-
#### 🩹 Bug fixes
|
|
246
|
-
|
|
247
|
-
- off-by-one error when updating child offsets after removal ([beef4e9](https://github.com/thi-ng/umbrella/commit/beef4e9))
|
|
248
|
-
|
|
249
|
-
## [7.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@7.2.0) (2019-03-18)
|
|
250
|
-
|
|
251
|
-
#### 🚀 Features
|
|
252
|
-
|
|
253
|
-
- support more input el types in updateValueAttrib() ([8813344](https://github.com/thi-ng/umbrella/commit/8813344))
|
|
254
|
-
|
|
255
|
-
## [7.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@7.1.0) (2019-02-10)
|
|
256
|
-
|
|
257
|
-
#### 🚀 Features
|
|
258
|
-
|
|
259
|
-
- add scrollTop/Left property support in setAttrib() ([895da65](https://github.com/thi-ng/umbrella/commit/895da65))
|
|
260
|
-
|
|
261
|
-
#### 🩹 Bug fixes
|
|
262
|
-
|
|
263
|
-
- fix [#72](https://github.com/thi-ng/umbrella/issues/72), update normalizeElement() ([3ed4ea1](https://github.com/thi-ng/umbrella/commit/3ed4ea1))
|
|
264
|
-
- ensure empty elements with `__skip` attrib always have at least 1 child
|
|
265
|
-
|
|
266
|
-
# [7.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@7.0.0) (2019-01-21)
|
|
267
|
-
|
|
268
|
-
#### 🛑 Breaking changes
|
|
269
|
-
|
|
270
|
-
- update package scripts, outputs, imports in remaining packages ([f912a84](https://github.com/thi-ng/umbrella/commit/f912a84))
|
|
271
|
-
- BREAKING CHANGE: enable multi-outputs (ES6 modules, CJS, UMD)
|
|
272
|
-
- build scripts now first build ES6 modules in package root, then call
|
|
273
|
-
`scripts/bundle-module` to build minified CJS & UMD bundles in `/lib`
|
|
274
|
-
- all imports MUST be updated to only refer to package level
|
|
275
|
-
(not individual files anymore). tree shaking in user land will get rid of
|
|
276
|
-
all unused imported symbols
|
|
277
|
-
|
|
278
|
-
## [6.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@6.1.0) (2018-12-21)
|
|
279
|
-
|
|
280
|
-
#### 🚀 Features
|
|
281
|
-
|
|
282
|
-
- add support for event listener options, update readme ([6618c22](https://github.com/thi-ng/umbrella/commit/6618c22))
|
|
283
|
-
|
|
284
|
-
### [6.0.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@6.0.4) (2018-12-21)
|
|
285
|
-
|
|
286
|
-
#### 🩹 Bug fixes
|
|
287
|
-
|
|
288
|
-
- fix [#63](https://github.com/thi-ng/umbrella/issues/63) update removeChild() (IE11) ([9f48a76](https://github.com/thi-ng/umbrella/commit/9f48a76))
|
|
289
|
-
|
|
290
|
-
### [6.0.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@6.0.2) (2018-12-16)
|
|
291
|
-
|
|
292
|
-
#### 🩹 Bug fixes
|
|
293
|
-
|
|
294
|
-
- life cycle init / release handling ([6d85c62](https://github.com/thi-ng/umbrella/commit/6d85c62))
|
|
295
|
-
- createTree() init handling: call AFTER all children have been created
|
|
296
|
-
- releaseTree(): bind release() calls to component (not tag wrapper)
|
|
297
|
-
- update docs / readme
|
|
298
|
-
|
|
299
|
-
# [6.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@6.0.0) (2018-12-13)
|
|
300
|
-
|
|
301
|
-
#### 🛑 Breaking changes
|
|
302
|
-
|
|
303
|
-
- extend & simplify HDOMImplementation, update DEFAULT_IMPL ([6f2e8ee](https://github.com/thi-ng/umbrella/commit/6f2e8ee))
|
|
304
|
-
- BREAKING CHANGE: extend & simplify HDOMImplementation
|
|
305
|
-
- update args for HDOMImplementation methods
|
|
306
|
-
- add createElement(), createTextElement() & getElementById() methods
|
|
307
|
-
to HDOMImplementation
|
|
308
|
-
- rename createDOM() => createTree(), make generic
|
|
309
|
-
- rename hydrateDOM() => hydrateTree(), make generic
|
|
310
|
-
- update / fix diffTree() __impl attrib handling:
|
|
311
|
-
only delegate if __impl != current impl
|
|
312
|
-
- update resolveRoot() to require impl arg & delegate
|
|
313
|
-
|
|
314
|
-
#### 🚀 Features
|
|
315
|
-
|
|
316
|
-
- add initial __skip ctrl attrib handling in diffTree() ([a4e6736](https://github.com/thi-ng/umbrella/commit/a4e6736))
|
|
317
|
-
|
|
318
|
-
#### ♻️ Refactoring
|
|
319
|
-
|
|
320
|
-
- update createTextElement() sig, update docstrings ([fe9a312](https://github.com/thi-ng/umbrella/commit/fe9a312))
|
|
321
|
-
|
|
322
|
-
### [5.2.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@5.2.1) (2018-12-08)
|
|
323
|
-
|
|
324
|
-
#### ♻️ Refactoring
|
|
325
|
-
|
|
326
|
-
- update diffTree & diffAttributes ([@thi.ng/diff](https://github.com/thi-ng/umbrella/tree/main/packages/diff) updates) ([e9b067b](https://github.com/thi-ng/umbrella/commit/e9b067b))
|
|
327
|
-
- minor update diff call sites ([c3f6f98](https://github.com/thi-ng/umbrella/commit/c3f6f98))
|
|
328
|
-
|
|
329
|
-
## [5.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@5.2.0) (2018-11-07)
|
|
330
|
-
|
|
331
|
-
#### 🚀 Features
|
|
332
|
-
|
|
333
|
-
- update auto-deref ctx behavior ([3016116](https://github.com/thi-ng/umbrella/commit/3016116))
|
|
334
|
-
- add `autoDerefKeys` option
|
|
335
|
-
- update docs
|
|
336
|
-
- update tests
|
|
337
|
-
|
|
338
|
-
## [5.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@5.1.0) (2018-11-06)
|
|
339
|
-
|
|
340
|
-
#### 🚀 Features
|
|
341
|
-
|
|
342
|
-
- add support for dynamic user context vals ([6a3a873](https://github.com/thi-ng/umbrella/commit/6a3a873))
|
|
343
|
-
- update start() & renderOnce()
|
|
344
|
-
- reformat all sub-modules
|
|
345
|
-
- update docs & tests
|
|
346
|
-
|
|
347
|
-
### [5.0.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@5.0.3) (2018-09-24)
|
|
348
|
-
|
|
349
|
-
#### 🩹 Bug fixes
|
|
350
|
-
|
|
351
|
-
- add DEFAULT_IMPL to re-exports ([#47](https://github.com/thi-ng/umbrella/issues/47)) ([50fa649](https://github.com/thi-ng/umbrella/commit/50fa649))
|
|
352
|
-
|
|
353
|
-
### [5.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@5.0.1) (2018-09-23)
|
|
354
|
-
|
|
355
|
-
#### ♻️ Refactoring
|
|
356
|
-
|
|
357
|
-
- minor refactoring, fix/update docs ([4a2f79b](https://github.com/thi-ng/umbrella/commit/4a2f79b))
|
|
358
|
-
- extract resolveRoot() helper fn
|
|
359
|
-
- update start(), renderOnce()
|
|
360
|
-
- update various doc strings
|
|
361
|
-
|
|
362
|
-
# [5.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@5.0.0) (2018-09-22)
|
|
363
|
-
|
|
364
|
-
#### 🚀 Features
|
|
365
|
-
|
|
366
|
-
- add renderOnce() ([5ef9cf0](https://github.com/thi-ng/umbrella/commit/5ef9cf0))
|
|
367
|
-
|
|
368
|
-
#### ⏱ Performance improvements
|
|
369
|
-
|
|
370
|
-
- minor updates ([de17db8](https://github.com/thi-ng/umbrella/commit/de17db8))
|
|
371
|
-
|
|
372
|
-
#### ♻️ Refactoring
|
|
373
|
-
|
|
374
|
-
- allow HDOMOpts extensions ([6d6fae3](https://github.com/thi-ng/umbrella/commit/6d6fae3))
|
|
375
|
-
|
|
376
|
-
### [5.0.0-alpha](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@5.0.0-alpha) (2018-09-16)
|
|
377
|
-
|
|
378
|
-
#### 🛑 Breaking changes
|
|
379
|
-
|
|
380
|
-
- reorg & extend HDOMImplementation ([1ac245f](https://github.com/thi-ng/umbrella/commit/1ac245f))
|
|
381
|
-
- add normalizeTree, hydrateTree & diffTree to HDOMImplementation
|
|
382
|
-
- add HDOMBehaviorAttribs
|
|
383
|
-
- update ComponentAttribs
|
|
384
|
-
- remove `normalize` option from HDOMOpts
|
|
385
|
-
(use `__normalize` attrib instead)
|
|
386
|
-
- update DEFAULT_IMPL, move to default.ts
|
|
387
|
-
- fix embedded fn handling in createDOM() & hydrateDOM()
|
|
388
|
-
(inject user context)
|
|
389
|
-
- add `__impl` support in hydrateDOM()
|
|
390
|
-
- add opt `impl` arg for start()
|
|
391
|
-
- BREAKING CHANGES: new names & call signatures for:
|
|
392
|
-
- normalizeTree
|
|
393
|
-
- diffElement => diffTree
|
|
394
|
-
- createDOM
|
|
395
|
-
- hydrateDOM
|
|
396
|
-
- replaceChild
|
|
397
|
-
|
|
398
|
-
#### 🚀 Features
|
|
399
|
-
|
|
400
|
-
- update normalizeTree, add to HDOMImplementation ([59bb19c](https://github.com/thi-ng/umbrella/commit/59bb19c))
|
|
401
|
-
- update normalizeTree() to check for & use branch-local impl if present
|
|
402
|
-
- add existing normalizeTree to DEFAULT_IMPL
|
|
403
|
-
- update HDOMImplementation interface
|
|
404
|
-
- add `.toHiccup()` interface support ([54ba0ce](https://github.com/thi-ng/umbrella/commit/54ba0ce))
|
|
405
|
-
- add `.toHiccup()` type check in `normalizeTree()` and call w/
|
|
406
|
-
user context
|
|
407
|
-
|
|
408
|
-
#### 🩹 Bug fixes
|
|
409
|
-
|
|
410
|
-
- minor fix (hydrateDOM) ([e4f780c](https://github.com/thi-ng/umbrella/commit/e4f780c))
|
|
411
|
-
- exclude hdom control attribs in setAttrib() ([0592063](https://github.com/thi-ng/umbrella/commit/0592063))
|
|
412
|
-
- delegate diffTree() to branch impl ([6c33901](https://github.com/thi-ng/umbrella/commit/6c33901))
|
|
413
|
-
|
|
414
|
-
#### ⏱ Performance improvements
|
|
415
|
-
|
|
416
|
-
- add opt `__release` attrib to disable releaseDeep() ([2e3fb66](https://github.com/thi-ng/umbrella/commit/2e3fb66))
|
|
417
|
-
- update diffTree(), inline node type checks ([382c45c](https://github.com/thi-ng/umbrella/commit/382c45c))
|
|
418
|
-
- add child tracking index table template for diffTree()
|
|
419
|
-
- bail out early if edit distance = 2 and only attribs changed
|
|
420
|
-
- update checks in normalizeTree(), normalizeElement(), createDOM(),
|
|
421
|
-
hydrateDOM(), setAttrib()
|
|
422
|
-
- rename releaseDeep() => releaseTree()
|
|
423
|
-
-
|
|
424
|
-
|
|
425
|
-
#### ♻️ Refactoring
|
|
426
|
-
|
|
427
|
-
- trial run of custom equiv() impl for diffTree() ([96beaf3](https://github.com/thi-ng/umbrella/commit/96beaf3))
|
|
428
|
-
- use custom equiv also for diffAttributes() ([bde18d5](https://github.com/thi-ng/umbrella/commit/bde18d5))
|
|
429
|
-
- update custom equiv() ([d9af2e5](https://github.com/thi-ng/umbrella/commit/d9af2e5))
|
|
430
|
-
- export diff related fns ([ebfcf15](https://github.com/thi-ng/umbrella/commit/ebfcf15))
|
|
431
|
-
|
|
432
|
-
### [4.0.5](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@4.0.5) (2018-09-10)
|
|
433
|
-
|
|
434
|
-
#### 🚀 Features
|
|
435
|
-
|
|
436
|
-
- add optional support for blocking normalize & diff ([5cb4350](https://github.com/thi-ng/umbrella/commit/5cb4350))
|
|
437
|
-
- add `__normalize` attrib to stop normalization of subtree
|
|
438
|
-
- add `__diff` attrib to stop diffing of subtree
|
|
439
|
-
- generalize diffElement() ([#4](https://github.com/thi-ng/umbrella/issues/4)) ([525d90d](https://github.com/thi-ng/umbrella/commit/525d90d))
|
|
440
|
-
- add HDOMOps interface
|
|
441
|
-
- add DEFAULT_OPS implementation
|
|
442
|
-
- update diffElement() & diffAttributes() to delegate to ops
|
|
443
|
-
- refactor diffElement() to be more legible
|
|
444
|
-
- update createDOM(), add support for `__ops` node attrib
|
|
445
|
-
to use custom ops for subtrees
|
|
446
|
-
- add getChild(), replaceChild(), setContent()
|
|
447
|
-
|
|
448
|
-
#### ♻️ Refactoring
|
|
449
|
-
|
|
450
|
-
- rename HDOMOps => HDOMImplementation, add docs ([cc73c76](https://github.com/thi-ng/umbrella/commit/cc73c76))
|
|
451
|
-
- rename `__ops` attrib => `__impl`
|
|
452
|
-
|
|
453
|
-
### [4.0.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@4.0.3) (2018-09-01)
|
|
454
|
-
|
|
455
|
-
#### 🩹 Bug fixes
|
|
456
|
-
|
|
457
|
-
- fix local import ([e66a492](https://github.com/thi-ng/umbrella/commit/e66a492))
|
|
458
|
-
|
|
459
|
-
# [4.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@4.0.0) (2018-08-31)
|
|
460
|
-
|
|
461
|
-
#### 🛑 Breaking changes
|
|
462
|
-
|
|
463
|
-
- add DOM hydration support (SSR), update start() ([#39](https://github.com/thi-ng/umbrella/issues/39)) ([9f8010d](https://github.com/thi-ng/umbrella/commit/9f8010d))
|
|
464
|
-
- add HDOMOpts interface
|
|
465
|
-
- add hydrateDOM()
|
|
466
|
-
- update start() to support hydration
|
|
467
|
-
- re-use migrated NO_SPANS const from hiccup
|
|
468
|
-
- switch all fn to arrow fns
|
|
469
|
-
- BREAKING CHANGE: start() args now as options object
|
|
470
|
-
|
|
471
|
-
#### 🚀 Features
|
|
472
|
-
|
|
473
|
-
- update HDOMOpts & start() ([5e74a9c](https://github.com/thi-ng/umbrella/commit/5e74a9c))
|
|
474
|
-
- add `normalize` option
|
|
475
|
-
- simplify `start()`
|
|
476
|
-
|
|
477
|
-
#### ♻️ Refactoring
|
|
478
|
-
|
|
479
|
-
- minor update HDOMOpts & start() ([d55d930](https://github.com/thi-ng/umbrella/commit/d55d930))
|
|
480
|
-
- rename `parent` option => `root`
|
|
481
|
-
|
|
482
|
-
### [3.0.33](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@3.0.33) (2018-08-24)
|
|
483
|
-
|
|
484
|
-
#### ♻️ Refactoring
|
|
485
|
-
|
|
486
|
-
- replace SEMAPHORE const w/ [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/main/packages/api) def ([9b443cb](https://github.com/thi-ng/umbrella/commit/9b443cb))
|
|
487
|
-
- remove [@thi.ng/iterators](https://github.com/thi-ng/umbrella/tree/main/packages/iterators) dependency ([1434b0e](https://github.com/thi-ng/umbrella/commit/1434b0e))
|
|
488
|
-
|
|
489
|
-
### [3.0.32](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@3.0.32) (2018-08-01)
|
|
490
|
-
|
|
491
|
-
#### ♻️ Refactoring
|
|
492
|
-
|
|
493
|
-
- cleanup imports ([1467273](https://github.com/thi-ng/umbrella/commit/1467273))
|
|
494
|
-
|
|
495
|
-
### [3.0.28](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@3.0.28) (2018-07-10)
|
|
496
|
-
|
|
497
|
-
#### 🩹 Bug fixes
|
|
498
|
-
|
|
499
|
-
- always update "value" attrib last in diffAttributes() ([126103b](https://github.com/thi-ng/umbrella/commit/126103b))
|
|
500
|
-
- fixes issue when patching <input type=range> elements
|
|
501
|
-
with changed min/max limits
|
|
502
|
-
|
|
503
|
-
### [3.0.23](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@3.0.23) (2018-05-15)
|
|
504
|
-
|
|
505
|
-
#### 🩹 Bug fixes
|
|
506
|
-
|
|
507
|
-
- delay init() lifecycle call to ensure children are available ([2482b16](https://github.com/thi-ng/umbrella/commit/2482b16))
|
|
508
|
-
- update diffElement()
|
|
509
|
-
|
|
510
|
-
### [3.0.21](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@3.0.21) (2018-05-14)
|
|
511
|
-
|
|
512
|
-
#### 🩹 Bug fixes
|
|
513
|
-
|
|
514
|
-
- component obj lifecycle method thisArg handling ([ade96f8](https://github.com/thi-ng/umbrella/commit/ade96f8))
|
|
515
|
-
|
|
516
|
-
### [3.0.16](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@3.0.16) (2018-05-10)
|
|
517
|
-
|
|
518
|
-
#### ♻️ Refactoring
|
|
519
|
-
|
|
520
|
-
- update deps & imports in all packages due to [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/main/packages/api) split ([bc45636](https://github.com/thi-ng/umbrella/commit/bc45636))
|
|
521
|
-
|
|
522
|
-
### [3.0.15](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@3.0.15) (2018-05-09)
|
|
523
|
-
|
|
524
|
-
#### 🩹 Bug fixes
|
|
525
|
-
|
|
526
|
-
- native boolean attrib handling (e.g. "checked") ([68ea086](https://github.com/thi-ng/umbrella/commit/68ea086))
|
|
527
|
-
|
|
528
|
-
### [3.0.14](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@3.0.14) (2018-05-01)
|
|
529
|
-
|
|
530
|
-
#### 🩹 Bug fixes
|
|
531
|
-
|
|
532
|
-
- boolean attrib reset/removal ([a93cb98](https://github.com/thi-ng/umbrella/commit/a93cb98))
|
|
533
|
-
|
|
534
|
-
### [3.0.13](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@3.0.13) (2018-04-30)
|
|
535
|
-
|
|
536
|
-
#### ⏱ Performance improvements
|
|
537
|
-
|
|
538
|
-
- only build linear diff edit log ([7a543a5](https://github.com/thi-ng/umbrella/commit/7a543a5))
|
|
539
|
-
|
|
540
|
-
### [3.0.12](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@3.0.12) (2018-04-29)
|
|
541
|
-
|
|
542
|
-
#### ⏱ Performance improvements
|
|
543
|
-
|
|
544
|
-
- update event handling in diffAttributes() ([31ec3af](https://github.com/thi-ng/umbrella/commit/31ec3af))
|
|
545
|
-
- avoid replacing element if changed event handlers
|
|
546
|
-
- update removeAttribs()
|
|
547
|
-
|
|
548
|
-
### [3.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@3.0.1) (2018-04-09)
|
|
549
|
-
|
|
550
|
-
#### ⏱ Performance improvements
|
|
551
|
-
|
|
552
|
-
- intern imported checks, update normalizeTree(), add docs, fix tests ([2a91e30](https://github.com/thi-ng/umbrella/commit/2a91e30))
|
|
553
|
-
- avoid `path` copies in normalizeTree()
|
|
554
|
-
- fix `render` life cycle return val handling
|
|
555
|
-
(must be array for init/release to be called)
|
|
556
|
-
|
|
557
|
-
# [3.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@3.0.0) (2018-04-08)
|
|
558
|
-
|
|
559
|
-
#### 🛑 Breaking changes
|
|
560
|
-
|
|
561
|
-
- fix [#13](https://github.com/thi-ng/umbrella/issues/13), add support for user context and pass to components ([70cfe06](https://github.com/thi-ng/umbrella/commit/70cfe06))
|
|
562
|
-
- add optional context arg for start()
|
|
563
|
-
- update normalizeTree(), diffElement() to inject provided context for
|
|
564
|
-
all component functions and objects w/ lifecycle methods
|
|
565
|
-
- context is always injected as 1st arg to comp fns, with only exception of
|
|
566
|
-
`init` lifecycle hook, where (for perf reasons) the created DOM element
|
|
567
|
-
is passed as the first arg (context 2nd)
|
|
568
|
-
- various minor optimizations
|
|
569
|
-
- add doc strings
|
|
570
|
-
- BREAKING CHANGE: component functions & lifecycle hooks now receive user
|
|
571
|
-
context object as their first arg. All components accepting arguments must
|
|
572
|
-
be updated, but can potentially be simplified at the same time.
|
|
573
|
-
|
|
574
|
-
## [2.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@2.3.0) (2018-03-21)
|
|
575
|
-
|
|
576
|
-
#### 🚀 Features
|
|
577
|
-
|
|
578
|
-
- update error handling, add [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/main/packages/api) dep ([f5173f1](https://github.com/thi-ng/umbrella/commit/f5173f1))
|
|
579
|
-
|
|
580
|
-
## [2.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@2.2.0) (2018-03-14)
|
|
581
|
-
|
|
582
|
-
#### 🚀 Features
|
|
583
|
-
|
|
584
|
-
- add auto deref() support ([0fe6c44](https://github.com/thi-ng/umbrella/commit/0fe6c44))
|
|
585
|
-
- top-level or child element objects with `deref()` impl will be automatically resolved
|
|
586
|
-
|
|
587
|
-
#### ♻️ Refactoring
|
|
588
|
-
|
|
589
|
-
- disable deref() for attrib objects ([28b0b57](https://github.com/thi-ng/umbrella/commit/28b0b57))
|
|
590
|
-
|
|
591
|
-
## [2.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@2.1.0) (2018-03-05)
|
|
592
|
-
|
|
593
|
-
#### 🚀 Features
|
|
594
|
-
|
|
595
|
-
- add support for frame skipping, add docs ([a200beb](https://github.com/thi-ng/umbrella/commit/a200beb))
|
|
596
|
-
|
|
597
|
-
# [2.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/hdom@2.0.0) (2018-03-03)
|
|
598
|
-
|
|
599
|
-
#### 🛑 Breaking changes
|
|
600
|
-
|
|
601
|
-
- update readme ([79e1b09](https://github.com/thi-ng/umbrella/commit/79e1b09))
|
|
602
|
-
- BREAKING CHANGE: rename package hiccup-dom => hdom
|
|
603
|
-
|
|
604
|
-
#### ♻️ Refactoring
|
|
605
|
-
|
|
606
|
-
- rename package hiccup-dom => hdom ([f1c5315](https://github.com/thi-ng/umbrella/commit/f1c5315))
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
[](https://mastodon.thi.ng/@toxi)
|
|
8
8
|
|
|
9
9
|
> [!NOTE]
|
|
10
|
-
> This is one of
|
|
10
|
+
> This is one of 201 standalone projects, maintained as part
|
|
11
11
|
> of the [@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo
|
|
12
12
|
> and anti-framework.
|
|
13
13
|
>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thi.ng/hdom",
|
|
3
|
-
"version": "9.4.
|
|
3
|
+
"version": "9.4.61",
|
|
4
4
|
"description": "Lightweight vanilla ES6 UI component trees with customizable branch-local behaviors",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "./index.js",
|
|
@@ -36,28 +36,26 @@
|
|
|
36
36
|
"build:esbuild": "esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts",
|
|
37
37
|
"clean": "bun ../../tools/src/clean-package.ts",
|
|
38
38
|
"doc": "typedoc --options ../../typedoc.json --out doc src/index.ts",
|
|
39
|
-
"doc:ae": "mkdir -p .ae/doc .ae/temp && api-extractor run --local --verbose",
|
|
40
39
|
"doc:readme": "bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts",
|
|
41
40
|
"pub": "yarn npm publish --access public",
|
|
42
41
|
"test": "bun test",
|
|
43
42
|
"tool:tangle": "../../node_modules/.bin/tangle src/**/*.ts"
|
|
44
43
|
},
|
|
45
44
|
"dependencies": {
|
|
46
|
-
"@thi.ng/api": "^8.11.
|
|
47
|
-
"@thi.ng/checks": "^3.6.
|
|
48
|
-
"@thi.ng/diff": "^5.1.
|
|
49
|
-
"@thi.ng/equiv": "^2.1.
|
|
50
|
-
"@thi.ng/errors": "^2.5.
|
|
51
|
-
"@thi.ng/hiccup": "^5.3.
|
|
52
|
-
"@thi.ng/logger": "^3.0.
|
|
53
|
-
"@thi.ng/prefixes": "^2.3.
|
|
45
|
+
"@thi.ng/api": "^8.11.19",
|
|
46
|
+
"@thi.ng/checks": "^3.6.22",
|
|
47
|
+
"@thi.ng/diff": "^5.1.86",
|
|
48
|
+
"@thi.ng/equiv": "^2.1.75",
|
|
49
|
+
"@thi.ng/errors": "^2.5.25",
|
|
50
|
+
"@thi.ng/hiccup": "^5.3.2",
|
|
51
|
+
"@thi.ng/logger": "^3.0.30",
|
|
52
|
+
"@thi.ng/prefixes": "^2.3.36"
|
|
54
53
|
},
|
|
55
54
|
"devDependencies": {
|
|
56
|
-
"@
|
|
57
|
-
"@thi.ng/atom": "^5.3.18",
|
|
55
|
+
"@thi.ng/atom": "^5.3.20",
|
|
58
56
|
"esbuild": "^0.24.2",
|
|
59
57
|
"typedoc": "^0.27.6",
|
|
60
|
-
"typescript": "^5.7.
|
|
58
|
+
"typescript": "^5.7.3"
|
|
61
59
|
},
|
|
62
60
|
"keywords": [
|
|
63
61
|
"array",
|
|
@@ -135,5 +133,5 @@
|
|
|
135
133
|
"status": "completed",
|
|
136
134
|
"year": 2015
|
|
137
135
|
},
|
|
138
|
-
"gitHead": "
|
|
136
|
+
"gitHead": "fc1d498e8d4b690db873c30cc594352a804e7a65\n"
|
|
139
137
|
}
|