@jsenv/navi 0.29.379 → 0.29.381

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.
@@ -9,7 +9,7 @@ they are met once.
9
9
  - [A name is unique per document](#a-name-is-unique-per-document)
10
10
  - [Nested groups, and the fallback fade](#nested-groups-and-the-fallback-fade)
11
11
  - [Rendering is suspended for the whole callback](#rendering-is-suspended-for-the-whole-callback)
12
- - [`finished` rejects when another transition replaces it](#finished-rejects-when-another-transition-replaces-it)
12
+ - [`ready` rejects when the transition is skipped, `finished` when the update fails](#ready-rejects-when-the-transition-is-skipped-finished-when-the-update-fails)
13
13
  - [The top layer is painted through the root's picture](#the-top-layer-is-painted-through-the-roots-picture)
14
14
  - [Two frames show the live document](#two-frames-show-the-live-document)
15
15
 
@@ -59,12 +59,21 @@ that waits on the network flickers every demo shown in an iframe while the same
59
59
  app, opened on its own, shows nothing. Keep the callback short, and suspect the
60
60
  frame before the code when a scrollbar blinks.
61
61
 
62
- ## `finished` rejects when another transition replaces it
63
-
64
- There is only ever one transition per document, so `viewTransition.finished`
65
- REJECTS when another one replaces this one. `.finally()` does not handle a
66
- rejection — an unhandled one is what it leaves behind — and `.then(done, done)`
67
- is the shape that ends a transition whichever way it went.
62
+ ## `ready` rejects when the transition is skipped, `finished` when the update fails
63
+
64
+ There is only ever one transition per document, so another one starting SKIPS
65
+ this one — as does the document going hidden or its snapshot containing block
66
+ changing size mid-movement (a phone's address bar folding, its keyboard
67
+ opening). A skip rejects `viewTransition.ready`, with a stackless DOMException
68
+ (`AbortError` "skipped", or `InvalidStateError` "aborted because of invalid
69
+ state"). `viewTransition.finished` still FULFILLS on a skip: the end state is
70
+ reached, only the animation is not. `finished` (and `updateCallbackDone`)
71
+ reject for one reason only, the update callback throwing.
72
+
73
+ So ending a transition means handling both ways of `finished` — `.finally()`
74
+ does not handle a rejection, an unhandled one is what it leaves behind, and
75
+ `.then(done, done)` is the shape that ends it whichever way it went — while a
76
+ `ready` waiter must expect the skip: `ready.then(onPictures, () => {})`.
68
77
 
69
78
  ## See also
70
79
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/navi",
3
- "version": "0.29.379",
3
+ "version": "0.29.381",
4
4
  "type": "module",
5
5
  "description": "Library of components including navigation to create frontend applications",
6
6
  "repository": {