jsf.js_next_gen 4.1.0-beta.19 → 4.1.0-beta.20

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/README.md CHANGED
@@ -281,6 +281,28 @@ Tests
281
281
  - Added tests for HiddenInputBuilder, Lang, and async queue
282
282
 
283
283
 
284
+ ## 4.1.0-beta.20
285
+
286
+ - Bugfix: focus bug in the new refocus code of `mona-dish`
287
+ - Fixed upstream in `mona-dish` `0.50.0-beta.6`; the bundles are rebuilt against that version.
288
+ - Dependency update
289
+ - Updated `mona-dish` to `0.50.0-beta.6`
290
+
291
+ ## 4.1.0-beta.19
292
+
293
+ - Bugfix: Chromium error on huge DOM replacements
294
+ - Partial responses replacing very large DOM trees (~150,000 nodes) failed on Chromium-based
295
+ browsers because unchunked large arrays were passed in a single `push(...array)` /
296
+ constructor-spread call, exceeding the engine's argument-count limit. `mona-dish` now
297
+ appends in chunks of 30,000 elements (`pushChunked` / `Es2019ArrayFrom`), and all
298
+ `DomQuery` node-list paths go through the chunk-safe code.
299
+ - Dependency update
300
+ - Updated `mona-dish` to `0.50.0-beta.5`
301
+
302
+ ## 4.1.0-beta.18
303
+
304
+ - Added missing ASL2 license headers
305
+
284
306
  ## 4.1.0-beta.17
285
307
 
286
308
  - Bugfix: caret position regression on partial updates
@@ -2375,7 +2375,19 @@ class DomQuery {
2375
2375
  static setCaretPosition(ctrl, pos) {
2376
2376
  (ctrl === null || ctrl === void 0 ? void 0 : ctrl.focus) ? ctrl === null || ctrl === void 0 ? void 0 : ctrl.focus() : null;
2377
2377
  // the selection range is our caret position
2378
- (ctrl === null || ctrl === void 0 ? void 0 : ctrl.setSelectionRange) ? ctrl === null || ctrl === void 0 ? void 0 : ctrl.setSelectionRange(pos, pos) : null;
2378
+ //
2379
+ // setSelectionRange exists on every HTMLInputElement, but the DOM spec
2380
+ // mandates that calling it on input types which do not support text
2381
+ // selection (checkbox, radio, button, file, ...) throws an
2382
+ // InvalidStateError. Hence a plain existence check is not enough; we
2383
+ // additionally swallow the error so the focus above still takes effect
2384
+ // (silent fail as documented).
2385
+ try {
2386
+ (ctrl === null || ctrl === void 0 ? void 0 : ctrl.setSelectionRange) ? ctrl === null || ctrl === void 0 ? void 0 : ctrl.setSelectionRange(pos, pos) : null;
2387
+ }
2388
+ catch (e) {
2389
+ // input type does not support a caret/selection -> nothing to set
2390
+ }
2379
2391
  }
2380
2392
  /**
2381
2393
  * Implementation of an iterator