@jsenv/navi 0.29.403 → 0.29.406
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/dev/jsenv_navi.js +5 -2780
- package/dist/dev/jsenv_navi.js.map +2 -23
- package/dist/dev/jsenv_navi_side_effects.js +2850 -15
- package/dist/dev/jsenv_navi_side_effects.js.map +23 -3
- package/dist/jsenv_navi.js +5 -2692
- package/dist/jsenv_navi.js.map +2 -23
- package/dist/jsenv_navi_side_effects.js +2762 -15
- package/dist/jsenv_navi_side_effects.js.map +23 -3
- package/docs/safe_area.md +15 -1
- package/package.json +2 -2
package/docs/safe_area.md
CHANGED
|
@@ -145,7 +145,8 @@ brings its target to.
|
|
|
145
145
|
|
|
146
146
|
Which element scrolls is the app's business, so navi never picks one. `:root`
|
|
147
147
|
gets the `scroll-padding` unconditionally, since the document is the scrollport
|
|
148
|
-
in the common case
|
|
148
|
+
in the common case — and, while nothing is marked, the keyboard's room at its
|
|
149
|
+
end (see below).
|
|
149
150
|
|
|
150
151
|
Beware of making that container scrollable by accident — see
|
|
151
152
|
[mobile_layout_pitfalls.md](./mobile_layout_pitfalls.md).
|
|
@@ -208,6 +209,19 @@ visual viewport instead, and `--navi-keyboard-inset-bottom` stays 0. Either way
|
|
|
208
209
|
`--navi-app-height` and the popup ceilings answer the part of the screen left
|
|
209
210
|
visible.
|
|
210
211
|
|
|
212
|
+
An overlaying keyboard is one the browser no longer scrolls the focused field
|
|
213
|
+
out from under, so navi does: when the keyboard rises or resizes, and when focus
|
|
214
|
+
moves to another field with the keyboard up, a focused field that is not fully
|
|
215
|
+
inside the document's `scroll-padding` box is centered in it. Chrome paints an
|
|
216
|
+
autofill/suggestion strip above the keyboard that neither
|
|
217
|
+
`env(keyboard-inset-height)` nor `geometrychange` counts, so
|
|
218
|
+
`scroll-padding-bottom` adds `--navi-keyboard-strip-allowance` on top of the
|
|
219
|
+
keyboard — which also keeps Chrome's own caret-following, as a textarea grows
|
|
220
|
+
under typing, clear of the strip. The room to scroll into comes from the marked
|
|
221
|
+
element's `padding-bottom`, or, on a page that marked nothing, from a block navi
|
|
222
|
+
adds at the end of the document while the keyboard is up — both count the
|
|
223
|
+
keyboard and the allowance.
|
|
224
|
+
|
|
211
225
|
`position: fixed` — so every `FixedBar` — is laid out against the **layout**
|
|
212
226
|
viewport. Where the visual viewport is what shrinks, a bottom bar therefore
|
|
213
227
|
stays at the bottom of a window the keyboard is covering: it ends up _behind_
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jsenv/navi",
|
|
3
|
-
"version": "0.29.
|
|
3
|
+
"version": "0.29.406",
|
|
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.
|
|
37
|
+
"@jsenv/dom": "0.17.78",
|
|
38
38
|
"@jsenv/humanize": "1.8.6",
|
|
39
39
|
"@jsenv/validity": "0.4.5"
|
|
40
40
|
},
|