@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.
@@ -53576,8 +53576,8 @@ const Form = props => {
53576
53576
  // second's opening tag, so the inner fields would silently belong to the
53577
53577
  // outer form. Rather than forbidding the shape (a form inside a picker inside
53578
53578
  // a form is a legitimate thing to want), a form that finds itself inside one
53579
- // is a different component: same group, no <form> element and none of the
53580
- // browser machinery that comes with it.
53579
+ // is a different component: a group of its own, no <form> element and none of
53580
+ // the browser machinery that comes with it (see FormNested).
53581
53581
  const isNested = Boolean(useContext(FormContext));
53582
53582
  return isNested ? jsx(FormNested, {
53583
53583
  ...props
@@ -53707,13 +53707,26 @@ const FormControl = props => {
53707
53707
  // event to intercept and no requestSubmit() to go through, so it is driven the
53708
53708
  // way every other group is — a command, or an action requested on it. method
53709
53709
  // belongs to the browser's own submission, so it means nothing here either.
53710
+ //
53711
+ // And it owns what it holds: `standalone`, unconditionally. A <Form> is a
53712
+ // question with a send of its own, so its fields answer to it and to nothing
53713
+ // above it — they are not in the outer form's value, not in its "changed", and
53714
+ // not in the constraints it checks before sending. That last one is what a
53715
+ // caller feels: a required field in a popup nobody opened would otherwise
53716
+ // refuse the outer submit, pointing at something the screen is not even
53717
+ // showing. A cluster of fields that IS part of the value around it is a
53718
+ // <ControlGroup>, which is the shape without the send (see
53719
+ // docs/control_object.md).
53710
53720
  const FormNested = props => {
53711
53721
  const {
53712
53722
  formRootProps,
53713
53723
  formProps,
53714
53724
  onnavi_action_end,
53715
53725
  inside
53716
- } = useFormGroup(props);
53726
+ } = useFormGroup({
53727
+ ...props,
53728
+ standalone: true
53729
+ });
53717
53730
  return jsx(Box, {
53718
53731
  ...formRootProps,
53719
53732
  ...formProps,
@@ -70752,9 +70765,11 @@ const PickerText = props => {
70752
70765
  };
70753
70766
 
70754
70767
  // The popup holds a group of named controls — a `<ControlGroup>`, or a `<Form>`
70755
- // when that group is a question with a send of its own — and this picker's
70756
- // value is the object that group aggregates. The popup itself holds nothing: it
70757
- // is a surface (see dialog.jsx), so there is nothing to tell it about the shape.
70768
+ // when that group is a question with a send of its own and the picker is not
70769
+ // itself inside a form (a form in a form answers for itself, see form.jsx) —
70770
+ // and this picker's value is the object that group aggregates. The popup itself
70771
+ // holds nothing: it is a surface (see dialog.jsx), so there is nothing to tell
70772
+ // it about the shape.
70758
70773
  const PickerObject = props => {
70759
70774
  const Next = useNextResolver();
70760
70775
  return jsx(Next, {