@teamsparta/stack-bottom-sheet
Version:
stack bottom sheet
74 lines (71 loc) • 1.81 kB
JavaScript
import {
BottomSheetProvider
} from "./chunk-VI637IBA.mjs";
import {
__objRest,
__spreadProps,
__spreadValues
} from "./chunk-FUJQIYOF.mjs";
// src/compounds/BottomSheetRoot.tsx
import { useThemeContext } from "@teamsparta/stack-core";
import { useControllableState } from "@teamsparta/stack-utils";
import { Drawer } from "vaul";
import { jsx } from "@emotion/react/jsx-runtime";
var BottomSheetRoot = (_a) => {
var _b = _a, {
children,
open: openFromProps,
onOpenChange: onOpenChangeFromProps,
defaultOpen: defaultOpenFromProps,
closeOnInteractOutside = true,
theme: themeFromProps,
hideCloseButton = false,
handleOnly = true,
dismissible = true,
repositionInputs = false,
VAUL_DISMISSIBLE = true
} = _b, restProps = __objRest(_b, [
"children",
"open",
"onOpenChange",
"defaultOpen",
"closeOnInteractOutside",
"theme",
"hideCloseButton",
"handleOnly",
"dismissible",
"repositionInputs",
"VAUL_DISMISSIBLE"
]);
const [open = false, onOpenChange] = useControllableState({
prop: openFromProps,
defaultProp: defaultOpenFromProps,
onChange: onOpenChangeFromProps
});
const { theme: themeFromContext } = useThemeContext("BottomSheet");
const theme = themeFromProps != null ? themeFromProps : themeFromContext;
return /* @__PURE__ */ jsx(
BottomSheetProvider,
{
closeOnInteractOutside,
theme,
hideCloseButton,
dismissible,
children: /* @__PURE__ */ jsx(
Drawer.Root,
__spreadProps(__spreadValues({
open,
onOpenChange,
handleOnly,
dismissible: VAUL_DISMISSIBLE,
repositionInputs
}, restProps), {
children
})
)
}
);
};
export {
BottomSheetRoot
};