UNPKG

@teamsparta/stack-bottom-sheet

Version:
71 lines (67 loc) 1.8 kB
"use client"; import { BottomSheetOverlay } from "./chunk-O5USUAIT.mjs"; import { useBottomSheet } from "./chunk-VI637IBA.mjs"; import { contentCss, contentWrapperCss } from "./chunk-ALWYKHLT.mjs"; import { __objRest, __spreadProps, __spreadValues } from "./chunk-FUJQIYOF.mjs"; // src/compounds/BottomSheetContent.tsx import { forwardRef } from "react"; import { Drawer } from "vaul"; import { jsx, jsxs } from "@emotion/react/jsx-runtime"; var BottomSheetContent = forwardRef( (_a, ref) => { var _b = _a, { children, onInteractOutside, style, overlay = /* @__PURE__ */ jsx(BottomSheetOverlay, {}) } = _b, restProps = __objRest(_b, [ "children", "onInteractOutside", "style", "overlay" ]); const { closeOnInteractOutside: closeOnInteractOutsideFromContext, theme, dismissible } = useBottomSheet("BottomSheetContent"); const hasOverlay = overlay !== null; const closeOnInteractOutside = hasOverlay && dismissible ? closeOnInteractOutsideFromContext : false; return /* @__PURE__ */ jsxs(Drawer.Portal, { children: [ overlay, /* @__PURE__ */ jsx( Drawer.Content, __spreadProps(__spreadValues({ "data-stack-color-theme": theme, ref, asChild: false, css: contentWrapperCss, style, onInteractOutside: closeOnInteractOutside ? onInteractOutside : (e) => { e.preventDefault(); onInteractOutside == null ? void 0 : onInteractOutside(e); } }, restProps), { children: /* @__PURE__ */ jsx("div", { css: contentCss, children }) }) ) ] }); } ); BottomSheetContent.displayName = "BottomSheetContent"; export { BottomSheetContent };