@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/dist/dev/jsenv_navi.js +26 -1
- package/dist/dev/jsenv_navi.js.map +4 -4
- package/dist/jsenv_navi.js +23 -0
- package/dist/jsenv_navi.js.map +4 -4
- package/docs/actions.md +11 -4
- package/docs/data_states.md +5 -1
- package/package.json +1 -1
package/dist/jsenv_navi.js
CHANGED
|
@@ -25848,6 +25848,22 @@ This prevents cross-test pollution and ensures clean state.`,
|
|
|
25848
25848
|
// URL is the source of truth for explicit parameters
|
|
25849
25849
|
const value = paramSignal.peek();
|
|
25850
25850
|
if (urlParamValue === undefined) {
|
|
25851
|
+
// An address silent about a persisted search param leaves it
|
|
25852
|
+
// alone: the state already holds what is stored (it starts from
|
|
25853
|
+
// storage and every write goes back to it), and a reset here
|
|
25854
|
+
// would empty the storage as well. Reading the storage back is
|
|
25855
|
+
// not an option either: the write that removes the param from
|
|
25856
|
+
// the address is the one emptying its storage, and this sync can
|
|
25857
|
+
// run before that removal has happened.
|
|
25858
|
+
// A path segment or a pushed param names a place, and an address
|
|
25859
|
+
// without it is the place without it: those follow the address.
|
|
25860
|
+
if (
|
|
25861
|
+
connection.persists &&
|
|
25862
|
+
connection.paramType === "query" &&
|
|
25863
|
+
connection.history !== "push"
|
|
25864
|
+
) {
|
|
25865
|
+
continue;
|
|
25866
|
+
}
|
|
25851
25867
|
// No URL parameter - reset signal to its current default value
|
|
25852
25868
|
// (handles both static fallback and dynamic default cases)
|
|
25853
25869
|
const defaultValue = connection.getDefaultValue();
|
|
@@ -36052,6 +36068,13 @@ const useUIFacadeStateController = (props, realUIStateController) => {
|
|
|
36052
36068
|
// ── init: runs once on mount ───────────────────────────────────────────
|
|
36053
36069
|
(s) => {
|
|
36054
36070
|
const canRegisterAsFacadeChild = (childController) => {
|
|
36071
|
+
if (s.props.picksNothing) {
|
|
36072
|
+
// The popup is a question, not a choice: a control in it (the "I
|
|
36073
|
+
// understand" checkbox gating a confirm) holds its own value, and
|
|
36074
|
+
// that value is not the picker's. Adopted, it would reach the
|
|
36075
|
+
// picker's action as its params, over whatever the caller bound.
|
|
36076
|
+
return false;
|
|
36077
|
+
}
|
|
36055
36078
|
if (childController.controlType === "button") {
|
|
36056
36079
|
return false;
|
|
36057
36080
|
}
|