@jsenv/navi 0.29.147 → 0.29.148
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/dist/jsenv_navi.js +68 -18
- package/dist/jsenv_navi.js.map +13 -11
- package/docs/popup_open.md +13 -5
- package/docs/testid.md +5 -0
- package/package.json +1 -1
package/docs/popup_open.md
CHANGED
|
@@ -564,11 +564,19 @@ code inside knows whether anything in there loads at all:
|
|
|
564
564
|
</Dialog>
|
|
565
565
|
```
|
|
566
566
|
|
|
567
|
-
Without it the nearest boundary is
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
567
|
+
Without it the nearest boundary is one that holds the popup itself, and what
|
|
568
|
+
happens then is worth knowing because nothing says it: the request goes out and
|
|
569
|
+
**the popup does not open at all** — no fallback drawn, no error raised. A
|
|
570
|
+
boundary waiting on an update keeps the page as it was, as a copy; the popup
|
|
571
|
+
being opened is part of that copy, so `showModal()` reaches a node the app no
|
|
572
|
+
longer owns, and once the data is there the subtree is rebuilt from scratch —
|
|
573
|
+
closed, and empty. The press is simply lost, and the next one works. In dev the popup says so
|
|
574
|
+
rather than leaving it to be guessed. The alternative is the component drawing its
|
|
575
|
+
own wait (`useAsyncData(action, { loading: true })`), which needs no boundary of
|
|
576
|
+
its own; what is not an option is neither of the two.
|
|
577
|
+
|
|
578
|
+
Both, and what each one looks like, are on
|
|
579
|
+
`src/layout/demos/13_popup_loading_demo.html`.
|
|
572
580
|
|
|
573
581
|
What the popup gains is everything a page has:
|
|
574
582
|
|
package/docs/testid.md
CHANGED
|
@@ -99,6 +99,11 @@ and is the better name for a test that reads or clicks the content. Reach for
|
|
|
99
99
|
`popupTestId` when the frame IS what the test looks at: a screenshot of the
|
|
100
100
|
popup's surface, its position, its size, its backdrop.
|
|
101
101
|
|
|
102
|
+
`<ControlSwap.Side>` answers the same situation the other way: the cap at the
|
|
103
|
+
end of the row is drawn by navi, and every prop the side does not use for
|
|
104
|
+
itself lands on it — so `data-testid` on the side names the cap, while what the
|
|
105
|
+
side holds is a vnode of yours that takes its own.
|
|
106
|
+
|
|
102
107
|
## What not to target
|
|
103
108
|
|
|
104
109
|
Navi's own attributes are implementation, not a contract: `data-header`,
|