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