@jsenv/navi 0.29.487 → 0.29.489

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.
@@ -386,6 +386,11 @@ local state down through `elementProps`. Pages sharing a layout but no prefix
386
386
  (`/profile`, `/settings`) use a container `<Route element={AuthLayout}>`, which
387
387
  injects the active child as its children.
388
388
 
389
+ A page names itself with its own `<Head><title>…</title></Head>`, rendered with
390
+ the page: the last `<Head>` mounted holds the document title and the theme
391
+ colour, and one that renders again keeps its place, so a layout's `<Head>` is a
392
+ default under every page.
393
+
389
394
  ### Loading data
390
395
 
391
396
  A page reads its data from a route action through `useAsyncData` and says only
@@ -729,9 +729,13 @@ what varies while it is open (a tab inside it) is a param of its own, see
729
729
  The other way round — ONE sheet showing whichever card the address names — is
730
730
  the same signal with no `value`: anything but `false`, `null` and `undefined`
731
731
  reads as open, opening writes `true` only into a signal that reads closed, and
732
- closing writes `undefined` (`false` where it held `true`). The content reads the
733
- id from the signal and a card's press writes it — in `onOpen` when the popup is
734
- opened ON the card, which runs before the popup writes its own open. With the
732
+ closing writes `undefined` (`false` where it held `true`). A card's press writes
733
+ the id — in `onOpen` when the popup is opened ON the card, which runs before the
734
+ popup writes its own open — and the content reads it with `usePopupValue()`,
735
+ not from the signal: the signal reads closed as soon as the close starts, while
736
+ an animated exit, and a lifting close flying back to the card, still draw what
737
+ the content renders. `usePopupValue()` holds the id the popup is open on until
738
+ the next opening, and `liftAnchor` takes a function of it. With the
735
739
  route's search-param `stateSignal` as the signal, that is how
736
740
  [a row of cards](./popup_lift.md#a-row-of-cards-one-popup-that-walks) survives
737
741
  leaving the page: the address names the card, and the sheet reopens on it.
package/docs/resource.md CHANGED
@@ -645,7 +645,7 @@ const ROLE_WITH_OWNERS = ROLE.withParams(
645
645
 
646
646
  Any write on a listed resource (`POST`, `PUT`, `PATCH`, `DELETE`) reruns the
647
647
  completed `GET` and `GET_MANY` of the resource that declared it, and invalidates
648
- its `GET_RANGE` readers when the verb is in its `rerunOn.GET_RANGE`. A
648
+ its `GET_RANGE` readers: its own `rerunOn` is about its own writes. A
649
649
  dependency is a facade: `DATABASE` and `DATABASE.withParams(…)` are two of them,
650
650
  and only writes on the one listed count. Nothing goes the other way, and nothing
651
651
  is inferred — a relation that really is a sub-route of the parent is modelled
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/navi",
3
- "version": "0.29.487",
3
+ "version": "0.29.489",
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.96",
37
+ "@jsenv/dom": "0.17.97",
38
38
  "@jsenv/humanize": "1.8.10",
39
39
  "@jsenv/validity": "0.4.7"
40
40
  },