@dloizides/ui-forms 1.13.3 → 1.13.4

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/index.d.mts CHANGED
@@ -737,12 +737,13 @@ declare function DateRangeControl({ value, onChange, onSubmit, fromLabel, toLabe
737
737
  /**
738
738
  * `AnchoredMenu` — the floating option list shared by `SelectControl` and `TypeaheadControl`.
739
739
  *
740
- * By default it renders an in-tree, absolutely-positioned popover under its anchor
741
- * (`position:absolute; top:100%; zIndex; elevation`). Set {@link AnchoredMenuProps.usePortal} to
742
- * render it — on web only — in a PORTAL to `document.body` with `position: fixed` at the trigger's
743
- * measured rect instead: that escapes react-native-web's trapped `z-index: 0` stacking contexts and
744
- * any ancestor `overflow: hidden`, so the menu is never painted under / clipped by later siblings
745
- * (the fix for the Country typeahead menu that hid behind the content below it). See {@link menuPortal}.
740
+ * By DEFAULT (web) it renders in a PORTAL to `document.body` with `position: fixed` at the trigger's
741
+ * measured rect: that escapes react-native-web's trapped `z-index: 0` stacking contexts and any
742
+ * ancestor `overflow: hidden`, so the menu is never painted under / clipped by later siblings (a
743
+ * table, a card, the next filter field). On native, and when {@link AnchoredMenuProps.usePortal} is
744
+ * explicitly `false`, it renders an in-tree, absolutely-positioned popover under its anchor
745
+ * (`position:absolute; top:100%; zIndex; elevation`) — which is exactly what left `SelectControl`'s
746
+ * menu hidden behind the attendee table until the default flipped. See {@link menuPortal}.
746
747
  * On web it dismisses on outside-click / Escape; on native the caller closes it on blur/select.
747
748
  * Purely presentational + theme-flat, so it stays reusable.
748
749
  *
@@ -777,8 +778,13 @@ interface AnchoredMenuProps {
777
778
  * On web, render the popover in a portal to `document.body` with `position: fixed` at the anchor's
778
779
  * measured rect, so it escapes react-native-web's trapped stacking contexts and any ancestor
779
780
  * `overflow: hidden` (the fix for a menu that paints under / is clipped by the content below it).
780
- * No effect on native. Default `false` — the existing in-tree behaviour, so `SelectControl`
781
- * usages are unchanged; `TypeaheadControl` opts in.
781
+ * No effect on native (the `IS_WEB` guard keeps native in-tree regardless).
782
+ *
783
+ * Default `true` — portalling is the CORRECT default: an in-tree popover is always at risk of
784
+ * being painted under a later-painting sibling (a table, a card, the next filter field). The old
785
+ * default was `false`, which silently left `SelectControl`'s menu hidden behind the attendee table
786
+ * (a recurrence of the exact bug this mechanism fixed for `TypeaheadControl`). Pass `usePortal={false}`
787
+ * only for the rare case that genuinely wants the menu clipped to its container.
782
788
  */
783
789
  usePortal?: boolean;
784
790
  }
package/dist/index.d.ts CHANGED
@@ -737,12 +737,13 @@ declare function DateRangeControl({ value, onChange, onSubmit, fromLabel, toLabe
737
737
  /**
738
738
  * `AnchoredMenu` — the floating option list shared by `SelectControl` and `TypeaheadControl`.
739
739
  *
740
- * By default it renders an in-tree, absolutely-positioned popover under its anchor
741
- * (`position:absolute; top:100%; zIndex; elevation`). Set {@link AnchoredMenuProps.usePortal} to
742
- * render it — on web only — in a PORTAL to `document.body` with `position: fixed` at the trigger's
743
- * measured rect instead: that escapes react-native-web's trapped `z-index: 0` stacking contexts and
744
- * any ancestor `overflow: hidden`, so the menu is never painted under / clipped by later siblings
745
- * (the fix for the Country typeahead menu that hid behind the content below it). See {@link menuPortal}.
740
+ * By DEFAULT (web) it renders in a PORTAL to `document.body` with `position: fixed` at the trigger's
741
+ * measured rect: that escapes react-native-web's trapped `z-index: 0` stacking contexts and any
742
+ * ancestor `overflow: hidden`, so the menu is never painted under / clipped by later siblings (a
743
+ * table, a card, the next filter field). On native, and when {@link AnchoredMenuProps.usePortal} is
744
+ * explicitly `false`, it renders an in-tree, absolutely-positioned popover under its anchor
745
+ * (`position:absolute; top:100%; zIndex; elevation`) — which is exactly what left `SelectControl`'s
746
+ * menu hidden behind the attendee table until the default flipped. See {@link menuPortal}.
746
747
  * On web it dismisses on outside-click / Escape; on native the caller closes it on blur/select.
747
748
  * Purely presentational + theme-flat, so it stays reusable.
748
749
  *
@@ -777,8 +778,13 @@ interface AnchoredMenuProps {
777
778
  * On web, render the popover in a portal to `document.body` with `position: fixed` at the anchor's
778
779
  * measured rect, so it escapes react-native-web's trapped stacking contexts and any ancestor
779
780
  * `overflow: hidden` (the fix for a menu that paints under / is clipped by the content below it).
780
- * No effect on native. Default `false` — the existing in-tree behaviour, so `SelectControl`
781
- * usages are unchanged; `TypeaheadControl` opts in.
781
+ * No effect on native (the `IS_WEB` guard keeps native in-tree regardless).
782
+ *
783
+ * Default `true` — portalling is the CORRECT default: an in-tree popover is always at risk of
784
+ * being painted under a later-painting sibling (a table, a card, the next filter field). The old
785
+ * default was `false`, which silently left `SelectControl`'s menu hidden behind the attendee table
786
+ * (a recurrence of the exact bug this mechanism fixed for `TypeaheadControl`). Pass `usePortal={false}`
787
+ * only for the rare case that genuinely wants the menu clipped to its container.
782
788
  */
783
789
  usePortal?: boolean;
784
790
  }
package/dist/index.js CHANGED
@@ -1107,7 +1107,7 @@ function AnchoredMenu({
1107
1107
  optionHint,
1108
1108
  testID,
1109
1109
  anchorRef,
1110
- usePortal = false
1110
+ usePortal = true
1111
1111
  }) {
1112
1112
  const menuRef = React2__default.default.useRef(null);
1113
1113
  useDismiss(anchorRef, menuRef, onDismiss);