feat(mobile): add safe area padding
All checks were successful
/ deploy-and-package (push) Successful in 1m16s

This commit is contained in:
Alois 2026-08-11 20:36:07 +02:00
commit e4c2d705e8
Signed by: alois
SSH key fingerprint: SHA256:GBzT2DXvAuGV9XIV5W3WrzVpjU54FThmxHXdbz95J24
22 changed files with 131 additions and 23 deletions

View file

@ -4,6 +4,7 @@ import * as React from "react";
import { Select as SelectPrimitive } from "@base-ui/react/select";
import { cn } from "../lib/utils";
import { useSafeAreaCollisionPadding } from "../hooks/use-safe-area";
import { ChevronDownIcon, CheckIcon, ChevronUpIcon } from "lucide-react";
const Select = SelectPrimitive.Root;
@ -64,12 +65,20 @@ function SelectContent({
align = "center",
alignOffset = 0,
alignItemWithTrigger = true,
collisionPadding,
...props
}: SelectPrimitive.Popup.Props &
Pick<
SelectPrimitive.Positioner.Props,
"align" | "alignOffset" | "side" | "sideOffset" | "alignItemWithTrigger"
| "align"
| "alignOffset"
| "side"
| "sideOffset"
| "alignItemWithTrigger"
| "collisionPadding"
>) {
const safeAreaCollisionPadding = useSafeAreaCollisionPadding();
return (
<SelectPrimitive.Portal>
<SelectPrimitive.Positioner
@ -78,6 +87,7 @@ function SelectContent({
align={align}
alignOffset={alignOffset}
alignItemWithTrigger={alignItemWithTrigger}
collisionPadding={collisionPadding ?? safeAreaCollisionPadding}
className="isolate z-50"
>
<SelectPrimitive.Popup