@jsenv/navi 0.29.310 → 0.29.312

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/docs/actions.md CHANGED
@@ -325,10 +325,17 @@ Which instance that is depends on whether the control carries a value:
325
325
  what it runs **is** the instance it was handed. `useActionStatus` on that
326
326
  instance sees the click, the run, the data.
327
327
  - a control that **carries a value** — an input, a form — runs the child
328
- instance bound to that value. Those params are not the caller's, so neither
329
- is the status: the instance the caller holds stays idle while the control's
330
- run moves. Read the effect where it lands (the store, for a resource verb),
331
- or listen to the run itself, below.
328
+ instance bound to that value: the value merged over the params the caller
329
+ bound, and a value that is not an object **replaces them outright**. A
330
+ checkbox handed `ACTION.bindParams({ id })` runs `ACTION(true)`, and `id`
331
+ is gone — the call fails wherever it needed it, far from the binding that
332
+ lost it. Bind params to a control that holds a value only when the value
333
+ completes them (a form's object over a bound `{ id }`); when it would
334
+ replace them, pass a function and keep the params in its closure:
335
+ `action={() => ACTION({ id, sure: true })}`. Those params are not the
336
+ caller's, so neither is the status: the instance the caller holds stays idle
337
+ while the control's run moves. Read the effect where it lands (the store,
338
+ for a resource verb), or listen to the run itself, below.
332
339
 
333
340
  Every control with an `action` reports the run it performs, whichever instance
334
341
  that is:
@@ -57,7 +57,11 @@ consequence: the component stays, so it is still there to offer the way out.
57
57
 
58
58
  A component that delegates nothing needs no `<Loading>` above it. One that
59
59
  delegates its wait does, since that is where the suspension lands, and navi says
60
- so rather than leaving the subtree blank.
60
+ so rather than leaving the subtree blank. Inside a popup that boundary is the
61
+ popup's own — `{ loading: true }`, or a `<Loading>` inside the popup — never
62
+ the one above the page: a suspension landing there takes the popup away with
63
+ the page it copies, and the popup does not open at all (see
64
+ [popup_open.md](./popup_open.md#a-popup-that-loads-data)).
61
65
 
62
66
  ## `data` and `loading` are independent
63
67
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/navi",
3
- "version": "0.29.310",
3
+ "version": "0.29.312",
4
4
  "type": "module",
5
5
  "description": "Library of components including navigation to create frontend applications",
6
6
  "repository": {