@jsenv/navi 0.29.412 → 0.29.413

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.
@@ -187,7 +187,7 @@ to start when unsure which export solves a problem.
187
187
  to; `animation={{ open, close: "lifting" }}` for a popup that did not come out of what it
188
188
  lands in, the landing rendered by `onClose`; what an opening costs and where
189
189
  the time goes;
190
- the wall at half strength on the frame before the movement. Read before
190
+ the wall arriving from nothing, over the movement. Read before
191
191
  giving a `Dialog` or a `Picker` `animation="lifting"`, or before measuring
192
192
  why one opens slowly.
193
193
  - `dialog_shape.md` — bounds rather than a width, the container ceiling, the
@@ -49,9 +49,8 @@ and the box the closing goes back into unless `liftAnchor` names another (see
49
49
  The opening waits for it. What a popup holds often arrives after the tap —
50
50
  code fetched for the address, a row fetched for the popup — and a movement
51
51
  started before the lifted node exists would carry the card into an empty box.
52
- So the dialog is opened at once, held unpainted under a half-strength wall
53
- (the card still readable beneath), and the lift starts the moment `data-lift`
54
- is in the DOM. Past a second without it, the dialog is shown where it stands,
52
+ So the dialog is opened at once, held unpainted over a page left untouched,
53
+ and the lift starts the moment `data-lift` is in the DOM. Past a second without it, the dialog is shown where it stands,
55
54
  with no movement, and dev warns.
56
55
 
57
56
  **Render the lifted node at once.** Waiting is a safety net, not the design: a
@@ -371,14 +370,23 @@ included.
371
370
 
372
371
  ## The wall, and the frame before the movement
373
372
 
374
- The tap is answered on the frame the dialog opens, before the pictures are
375
- taken: the wall is on screen at half strength, the card still readable under
376
- it, and the lift starts from there — the wall completes over the movement.
377
- That single frame lasts as long as the pictures take; with nothing left to
378
- build it is 40–60 ms, with a sheet to render it is the sheet's build. Half
379
- rather than nothing, because the first painted frame is the whole feedback of
380
- a slow tap; half rather than full, because a full opaque wall erases the card
381
- the movement is about to lift.
373
+ The frame the dialog opens on is the picture the movement starts from, and it
374
+ lasts as long as the pictures take: 40–60 ms with nothing left to build, the
375
+ sheet's build with a sheet to render. On it the card is still an element of
376
+ the page, under the wall, and the movement then draws it on its own, sharp,
377
+ above the wall. So the wall arrives from nothing, over the movement: that
378
+ frame shows the page untouched, card included.
379
+
380
+ Any wall on that frame is worn by the card for its whole length, then taken
381
+ off at once when the movement starts: a flash. A wall at half strength, to
382
+ answer a slow tap before the movement, leaves the card dim and blurred for the
383
+ length of the build (≈130 ms at ×6), then sharp; at full strength the card is
384
+ gone.
385
+
386
+ What that frame does not do is say a tap was taken. That answer belongs to
387
+ the trigger, which is what the movement starts from anyway: a hold has the
388
+ finger still on it, and a `Picker`'s trigger wears `aria-expanded="true"` from
389
+ the open on, for an app that wants it pressed in while the sheet builds.
382
390
 
383
391
  `animation="lifting"` brings its own wall — opaque and blurred
384
392
  (`--navi-backdrop-lift-*`), the page it came out of being what the movement
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/navi",
3
- "version": "0.29.412",
3
+ "version": "0.29.413",
4
4
  "type": "module",
5
5
  "description": "Library of components including navigation to create frontend applications",
6
6
  "repository": {
@@ -34,7 +34,7 @@
34
34
  "preact": "^11.0.0-rc.2"
35
35
  },
36
36
  "dependencies": {
37
- "@jsenv/dom": "0.17.81",
37
+ "@jsenv/dom": "0.17.82",
38
38
  "@jsenv/humanize": "1.8.6",
39
39
  "@jsenv/validity": "0.4.5"
40
40
  },