import type { HeaderBarButtonMailSearchToolbarItem } from "react-native-screens";import { NATIVE_LIQUID_GLASS_SUPPORTED } from "../../native/native-glass";/** * The patched mail-style toolbar is built natively from iOS 26 Liquid Glass * UIKit (`UIGlassEffect`) with no earlier fallback: pre-26 the native side * silently drops the item and hides the navigation toolbar entirely. Screens * that send it must fall back to standard search/toolbar primitives when this * is false. */export const NATIVE_MAIL_SEARCH_TOOLBAR_SUPPORTED = NATIVE_LIQUID_GLASS_SUPPORTED;/** Clearance for scroll content that must come to rest above the floating toolbar. */export const NATIVE_MAIL_SEARCH_TOOLBAR_CONTENT_INSET = 56;type NativeMailSearchToolbarInput = Omit< HeaderBarButtonMailSearchToolbarItem, "type" | "useFallbackSearchField">;/** * Builds the patched react-native-screens Mail-style bottom search toolbar. * * Keeping this behind an app-level helper makes the iOS-only RNS patch an * explicit layout primitive instead of a per-screen object literal. Android can * keep using platform-specific header/search primitives without depending on * this helper. */export function createNativeMailSearchToolbarItem( input: NativeMailSearchToolbarInput,): HeaderBarButtonMailSearchToolbarItem { return { placeholder: "Search", ...input, type: "mailSearchToolbar", useFallbackSearchField: true, };}
import type { HeaderBarButtonMailSearchToolbarItem } from "react-native-screens";
import { NATIVE_LIQUID_GLASS_SUPPORTED } from "../../native/native-glass";
/**
* The patched mail-style toolbar is built natively from iOS 26 Liquid Glass
* UIKit (`UIGlassEffect`) with no earlier fallback: pre-26 the native side
* silently drops the item and hides the navigation toolbar entirely. Screens
* that send it must fall back to standard search/toolbar primitives when this
* is false.
*/
export const NATIVE_MAIL_SEARCH_TOOLBAR_SUPPORTED = NATIVE_LIQUID_GLASS_SUPPORTED;
/** Clearance for scroll content that must come to rest above the floating toolbar. */
export const NATIVE_MAIL_SEARCH_TOOLBAR_CONTENT_INSET = 56;
type NativeMailSearchToolbarInput = Omit<
HeaderBarButtonMailSearchToolbarItem,
"type" | "useFallbackSearchField"
>;
/**
* Builds the patched react-native-screens Mail-style bottom search toolbar.
*
* Keeping this behind an app-level helper makes the iOS-only RNS patch an
* explicit layout primitive instead of a per-screen object literal. Android can
* keep using platform-specific header/search primitives without depending on
* this helper.
*/
export function createNativeMailSearchToolbarItem(
input: NativeMailSearchToolbarInput,
): HeaderBarButtonMailSearchToolbarItem {
return {
placeholder: "Search",
...input,
type: "mailSearchToolbar",
useFallbackSearchField: true,
};
}