UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

40 lines (39 loc) 1.75 kB
"use client"; import { useScrollAreaContext } from "../ScrollArea.context.mjs"; import { ScrollAreaScrollbarVisible } from "./ScrollAreaScrollbarVisible.mjs"; import { ScrollAreaScrollbarAuto } from "./ScrollAreaScrollbarAuto.mjs"; import { ScrollAreaScrollbarHover } from "./ScrollAreaScrollbarHover.mjs"; import { ScrollAreaScrollbarScroll } from "./ScrollAreaScrollbarScroll.mjs"; import { useEffect } from "react"; import { jsx } from "react/jsx-runtime"; //#region packages/@mantine/core/src/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.tsx function ScrollAreaScrollbar(props) { const { forceMount, ...scrollbarProps } = props; const context = useScrollAreaContext(); const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context; const isHorizontal = props.orientation === "horizontal"; useEffect(() => { isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true); return () => { isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false); }; }, [ isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange ]); return context.type === "hover" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, forceMount }) : context.type === "scroll" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, forceMount }) : context.type === "auto" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, forceMount }) : context.type === "always" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps }) : null; } ScrollAreaScrollbar.displayName = "@mantine/core/ScrollAreaScrollbar"; //#endregion export { ScrollAreaScrollbar }; //# sourceMappingURL=ScrollAreaScrollbar.mjs.map