@jsenv/navi 0.29.429 → 0.29.431

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.
@@ -26,6 +26,7 @@ linking to them, and turning them into tabs.
26
26
  - [What the search param buys: the way back is in the address](#what-the-search-param-buys-the-way-back-is-in-the-address)
27
27
  - [The wiring](#the-wiring)
28
28
  - [Places inside the layer](#places-inside-the-layer)
29
+ - [A link inside the layer leads to a page](#a-link-inside-the-layer-leads-to-a-page)
29
30
  - [What it costs](#what-it-costs)
30
31
 
31
32
  ## The rule that decides everything else: the position belongs in the URL
@@ -783,7 +784,9 @@ Every piece of it answers something:
783
784
  off screen;
784
785
  - **no `defineRouteTransition` for it.** The page beneath does not change, so
785
786
  there is no pair of pages to move between — route transitions are for pages
786
- replacing pages ([route_transitions.md](./route_transitions.md)).
787
+ replacing pages ([route_transitions.md](./route_transitions.md)). When a link
788
+ inside the layer does change it, see
789
+ [below](#a-link-inside-the-layer-leads-to-a-page).
787
790
 
788
791
  ### Places inside the layer
789
792
 
@@ -811,6 +814,30 @@ is shown. A popup's `value` answers another one, WHICH of several popups is open
811
814
  (one sheet per card under a single `?seat=<gameId>`), not what varies inside one
812
815
  (see [popup_open.md](./popup_open.md#signal--the-app-holds-it-both-ways)).
813
816
 
817
+ ### A link inside the layer leads to a page
818
+
819
+ The terms of use behind an About dialog, a profile behind a name in the
820
+ notifications: a link inside the layer leads to another page, and the layer does
821
+ not follow — its params are `weak`, the link drops them, and the layer closes in
822
+ the navigation that brings the page. The back button brings both back: the page,
823
+ and the layer over it as it was, on the tab it was on.
824
+
825
+ Neither is a movement of the layer's. **The page changing is its movement**: a
826
+ layer opened or closed by the navigation that puts another page on screen plays
827
+ no entrance and no exit, and its slides land where the address puts them rather
828
+ than travelling there — a tab row's indicator with them. A route transition
829
+ towards that page already carries the layer: photographed with the page it
830
+ covers, it leaves with that page and comes back with it
831
+ ([route_transitions.md](./route_transitions.md#pages-between-fixed-bars-the-transition-area)).
832
+ Without one, the page cuts, and the layer cuts with it. Played on its own as
833
+ well, the layer would move twice — dropping in over a page that is sliding.
834
+
835
+ The line is the page, not how the navigation was made: the back button closing
836
+ the layer itself (`/me?settings` → `/me`) is the layer's own movement, and plays
837
+ its exit. A page is what navi moves between — a new path, or a param that a
838
+ relation or a `RouteTravel` row names as a page. A search param the page merely
839
+ reads keeps the page, and a layer that changes with it moves on its own.
840
+
814
841
  ### What it costs
815
842
 
816
843
  This is a compromise, and it is worth stating rather than discovering:
@@ -636,7 +636,10 @@ opens or closes on its own — Escape, the backdrop, a `--navi-close` — and af
636
636
  a close a busy control denied, when the signal says "open" again, because that
637
637
  is what is true (see [state_binding.md](./state_binding.md)). A signal already
638
638
  `true` at mount means the popup was already open when the page appeared: no
639
- entrance plays.
639
+ entrance plays. Nor does an opening — or an exit — the signal asks for in the
640
+ navigation that puts another page on screen: that page is the popup's movement
641
+ ([navigation.md](./navigation.md#a-link-inside-the-layer-leads-to-a-page)), and
642
+ the same holds for `open` and `navState`.
640
643
 
641
644
  `value` makes the signal say WHICH popup is open, for several sharing it — one
642
645
  sheet per card in a feed, with a single `?seat=<gameId>` for all of them:
@@ -267,7 +267,11 @@ travelling with the pages has a rectangle where it will be, not where it is seen
267
267
  finger is on the box — and leaves the bars live.
268
268
 
269
269
  A **modal `Dialog` open on a page** is furniture of the same kind: it travels with
270
- its page, or holds if both states have it. Its wall cannot be photographed (see
270
+ its page, or holds if both states have it. One the navigation itself opens or
271
+ closes — a layer whose `weak` param the link drops, or the back brings back —
272
+ moves that way only, with no entrance or exit of its own on top
273
+ ([navigation.md](./navigation.md#a-link-inside-the-layer-leads-to-a-page)). The
274
+ dialog's wall cannot be photographed (see
271
275
  [view_transitions.md](./view_transitions.md#the-top-layer-is-painted-through-the-roots-picture)),
272
276
  and dropping it for the movement makes the window blink under the press, so navi
273
277
  paints it into the pictures: a page leaving from under a wall leaves dimmed, one
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/navi",
3
- "version": "0.29.429",
3
+ "version": "0.29.431",
4
4
  "type": "module",
5
5
  "description": "Library of components including navigation to create frontend applications",
6
6
  "repository": {