@jsenv/navi 0.29.424 → 0.29.425

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.
@@ -285,14 +285,19 @@ far from every press that opens it, it has to be told what it is about and has
285
285
  to answer somebody. The content can still be one component used in every picker:
286
286
  "the prompt exists once" is a question about components, not about the DOM.
287
287
 
288
- What each row costs depends on what the picker is told. A picker told no value —
289
- no `value`, `defaultValue` or `signal` — builds its popup at render, closed: it
290
- reads its value off the control in there, which has to exist before anything
291
- opens. A hundred rows is then a hundred closed popups. One heavy enough to
292
- matter can say `mount="from-first-open"`, and the picker then knows nothing of
293
- what that control holds until the first opening: its trigger cannot draw it, and
294
- nothing reading the picker sees it. A picker told a value, a `type="confirm"`
295
- and a `mode="callout"` build on the first open already.
288
+ What each row costs depends on what reads the picker's value before anything
289
+ opens. A picker told no value — no `value`, `defaultValue` or `signal` — holds
290
+ what the control in its popup holds, so that popup is built, closed, as soon as
291
+ something reads the value: the trigger navi draws (no `ui`, a `Picker.UI.*`, a
292
+ component `ui` handed `value`), the clear cross, a form or group collecting it,
293
+ an element `ui` calling `usePickerState()`. A hundred such rows is then a
294
+ hundred closed popups. One heavy enough to matter can say
295
+ `mount="from-first-open"`, and the picker then knows nothing of what that
296
+ control holds until the first opening: its trigger cannot draw it, and nothing
297
+ reading the picker sees it. A picker read by nothing before it opens — its
298
+ trigger a drawing of the caller's that does not ask for the value, no name, no
299
+ cross — builds on the first open, like a picker told a value, a
300
+ `type="confirm"` and a `mode="callout"`.
296
301
 
297
302
  ### Composing a value, or doing work
298
303
 
@@ -865,8 +870,8 @@ alone.
865
870
  A closed `Dialog`/`Popover` builds nothing: `children` are mounted on the first
866
871
  open, and stay mounted afterwards — a reopened popup finds its scroll position
867
872
  and its half-typed form where it left them, as long as the data it draws does
868
- not leave with the close. A `Picker` told no value is the exception: it builds
869
- its popup at render (see
873
+ not leave with the close. A `Picker` told no value whose value something reads
874
+ is the exception: it builds its popup as soon as that value is read (see
870
875
  [above](#a-press-that-opens-a-popup-and-acts-on-it)).
871
876
 
872
877
  A `Dialog` nobody has asked for yet is not even built. It stands in as its bare
@@ -890,7 +895,7 @@ opening — so the `mount` prop answers both at once:
890
895
  | `"while-opened"` | not mounted | not mounted |
891
896
 
892
897
  `"always"` is for content something depends on before any opening: a value read
893
- off it (the default of a picker told no value), fields a surrounding form
898
+ off it (the default of a picker told no value whose value is read), fields a surrounding form
894
899
  submits, a size measured from outside. `"idle"` is `"always"` minus the cost on
895
900
  the render that draws the page.
896
901
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/navi",
3
- "version": "0.29.424",
3
+ "version": "0.29.425",
4
4
  "type": "module",
5
5
  "description": "Library of components including navigation to create frontend applications",
6
6
  "repository": {