@jsenv/navi 0.29.312 → 0.29.314
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 +21 -6
- package/dist/dev/jsenv_navi.js.map +3 -3
- package/dist/jsenv_navi.js +21 -6
- package/dist/jsenv_navi.js.map +3 -3
- package/docs/control_object.md +15 -6
- package/package.json +1 -1
package/dist/dev/jsenv_navi.js
CHANGED
|
@@ -54315,8 +54315,8 @@ const Form = props => {
|
|
|
54315
54315
|
// second's opening tag, so the inner fields would silently belong to the
|
|
54316
54316
|
// outer form. Rather than forbidding the shape (a form inside a picker inside
|
|
54317
54317
|
// a form is a legitimate thing to want), a form that finds itself inside one
|
|
54318
|
-
// is a different component:
|
|
54319
|
-
// browser machinery that comes with it.
|
|
54318
|
+
// is a different component: a group of its own, no <form> element and none of
|
|
54319
|
+
// the browser machinery that comes with it (see FormNested).
|
|
54320
54320
|
const isNested = Boolean(useContext(FormContext));
|
|
54321
54321
|
return isNested ? jsx(FormNested, {
|
|
54322
54322
|
...props
|
|
@@ -54446,13 +54446,26 @@ const FormControl = props => {
|
|
|
54446
54446
|
// event to intercept and no requestSubmit() to go through, so it is driven the
|
|
54447
54447
|
// way every other group is — a command, or an action requested on it. method
|
|
54448
54448
|
// belongs to the browser's own submission, so it means nothing here either.
|
|
54449
|
+
//
|
|
54450
|
+
// And it owns what it holds: `standalone`, unconditionally. A <Form> is a
|
|
54451
|
+
// question with a send of its own, so its fields answer to it and to nothing
|
|
54452
|
+
// above it — they are not in the outer form's value, not in its "changed", and
|
|
54453
|
+
// not in the constraints it checks before sending. That last one is what a
|
|
54454
|
+
// caller feels: a required field in a popup nobody opened would otherwise
|
|
54455
|
+
// refuse the outer submit, pointing at something the screen is not even
|
|
54456
|
+
// showing. A cluster of fields that IS part of the value around it is a
|
|
54457
|
+
// <ControlGroup>, which is the shape without the send (see
|
|
54458
|
+
// docs/control_object.md).
|
|
54449
54459
|
const FormNested = props => {
|
|
54450
54460
|
const {
|
|
54451
54461
|
formRootProps,
|
|
54452
54462
|
formProps,
|
|
54453
54463
|
onnavi_action_end,
|
|
54454
54464
|
inside
|
|
54455
|
-
} = useFormGroup(
|
|
54465
|
+
} = useFormGroup({
|
|
54466
|
+
...props,
|
|
54467
|
+
standalone: true
|
|
54468
|
+
});
|
|
54456
54469
|
return jsx(Box, {
|
|
54457
54470
|
...formRootProps,
|
|
54458
54471
|
...formProps,
|
|
@@ -71611,9 +71624,11 @@ const PickerText = props => {
|
|
|
71611
71624
|
};
|
|
71612
71625
|
|
|
71613
71626
|
// The popup holds a group of named controls — a `<ControlGroup>`, or a `<Form>`
|
|
71614
|
-
// when that group is a question with a send of its own
|
|
71615
|
-
//
|
|
71616
|
-
//
|
|
71627
|
+
// when that group is a question with a send of its own and the picker is not
|
|
71628
|
+
// itself inside a form (a form in a form answers for itself, see form.jsx) —
|
|
71629
|
+
// and this picker's value is the object that group aggregates. The popup itself
|
|
71630
|
+
// holds nothing: it is a surface (see dialog.jsx), so there is nothing to tell
|
|
71631
|
+
// it about the shape.
|
|
71617
71632
|
const PickerObject = props => {
|
|
71618
71633
|
const Next = useNextResolver();
|
|
71619
71634
|
return jsx(Next, {
|